Flutter – Data from child to parent

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)),
    );
  }
}