一、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類中修改屬性的方法。
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。