平常可能大多数人这样写Provider
void main() {
runApp(MultiProvider(providers: [
ChangeNotifierProvider(create: (_) => CounterNotifier()),
],child: const MyApp()));
}
class CounterNotifier with ChangeNotifier {
int _count = 0;
int get count => _count;
void increment() {
_count++;
notifyListeners();
}
@override
void dispose() {
super.dispose();
}
}
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
const Text(
'You have pushed the button this many times:',
),
Consumer<CounterNotifier>(
builder: (context, notifier, child) {
return Text(
'${notifier.count}',
style: Theme.of(context).textTheme.headline4,
);
}
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: (){
context.read<CounterNotifier>().increment();
},