一、pubspec.yaml里dependencies引入provider: ^5.0.0,现在最新版是5.0.0
二、新创建一个管理provider状态修改数据的文件,如:counter.dart文件
三、在创建的文件里新建一个Counter类(新建一个获取、修改的属性,再创建两个方法修改这个属性),如下
class Counter with ChangeNotifier{ ///混入ChangeNotifier
int value = 0; ///需要获取修改的属性
///递增方法
increment(){
value++; ///修改属性
notifyListeners(); ///监听更改
}
四、在main.dart里修改runApp,如下
void main() {
runApp(
MultiProvider( ///provider写法
providers: [
///需要状态管理的类,多个可以往下添加
ChangeNotifierProvider(create: (_) => Counter()),
],
child: const MyApp(),
),
);
}
五、使用
1、获取值使用:context.watch<Counter>().value
value就是上面创建的Counter类中需要状态管理的属性。
2、修改值使用:context.read<Counter>().increment();
increment()就是上面创建的Counter类中修改属性的方法。
网友评论