一、StatefulWidget
import 'package:flutter/material.dart';import 'package:myflutter/my_inherited_widget.dart';
class OneView extends StatefulWidget { const OneView({Key? key}) : super(key: key);
@override // ignore: library_private_types_in_public_api _OneViewState createState() => _OneViewState();}
class _OneViewState extends State<OneView> { @override Widget build(BuildContext context) { int? counter = MyInheritedWidget.of(context)?.counter;
return Container( width: 100, height: 200, color: Colors.red, child: Text("$counter"), ); }}
import 'package:flutter/material.dart';
class MyInheritedWidget extends InheritedWidget { final int counter; const MyInheritedWidget( {super.key, required this.counter, required Widget child}) : super(child: child);
static MyInheritedWidget? of(BuildContext context) { return context.dependOnInheritedWidgetOfExactType(); }
@override bool updateShouldNotify(covariant InheritedWidget oldWidget) { return true; }}
import 'package:flutter/material.dart';
class MyInheritedWidget extends InheritedWidget { final int counter; const MyInheritedWidget( {super.key, required this.counter, required Widget child}) : super(child: child);
static MyInheritedWidget? of(BuildContext context) { return context.dependOnInheritedWidgetOfExactType(); }
@override bool updateShouldNotify(covariant InheritedWidget oldWidget) { return true; }}