Using a callback
import 'package:flutter/material.dart';
class ParentWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return ChildWidget(
      callback: (value) => print(value),
    );
  }
}
class ChildWidget extends StatefulWidget {
  final Function callback;
  ChildWidget({required this.callback});
  @override
  _ChildWidgetState createState() => _ChildWidgetState();
}
class _ChildWidgetState extends State<ChildWidget> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Parent child'),
      ),
      body: IconButton(
          onPressed: () => widget.callback('I am your sailing child'),
          icon: Icon(Icons.sailing)),
    );
  }
}