provider 的使用

当我们想在多个页面(组件/Widget)之间共享状态(数据),或者一个页面(组 件/Widget)中的多个子组件之间共享状态(数据),这个时候我们就可以用 Flutter 中的状 态管理来管理统一的状态(数据),实现不同组件直接的传值和数据共享。 现在 Flutter 的状态管理方案很多,redux、bloc、state、provide、provider。 目前我们推荐使用 provider,这个是官方提供的状态管理解决方案。相比其他状态管理库使 用起来比较方便。

  • 1.新建一个文件夹叫 provider,在 provider 文件夹里面放我们对于的状态管理类
    1. 在 provider 里面新建 Counter.dart
    1. Counter.dart 里面新建一个类继承 minxins 的 ChangeNotifier 代码如下
import 'package:flutter/material.dart'; 
class Counter with ChangeNotifier { 
int _count = 0;
int get count => _count; 
void increment() { _count++; 
notifyListeners();
 } }

4.在main中修改

Widget build(BuildContext context) {
 return MultiProvider( providers: [ 
// Provider.value(value: foo), 
ChangeNotifierProvider(builder: (_) => Counter()),
 ],
child: MaterialApp( 
// home: Tabs(), debugShowCheckedModeBanner: false, 
initialRoute: '/productContent',
 onGenerateRoute: onGenerateRoute, 
theme: ThemeData( 
// primaryColor: Colors.yellow 
primaryColor: Colors.white),
 ),); }

你可能感兴趣的:(provider 的使用)