Provider 是 Flutter 官方的状态管理框架,非常简单,入侵性小,还可以方便地组合和控制 UI 刷新粒度。Provider 就成为了官方推荐的状态管理方式之一。
Provider 是一个用来提供数据的框架。它是 InheritedWidget 的语法糖,提供了依赖注入的功能,允许在 Widget 树中更加灵活地处理和传递数据。
在 pubspec.yaml 文件中添加 Provider 的依赖:
dependencies:
flutter:
sdk: flutter
provider: 3.0.0+1 #provider 依赖
class LikesModel extends ChangeNotifier {
int counter = 0;
add() {
// 更改数据
counter++;
// 通知监听者
notifyListeners();
}
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return ChangeNotifierProvider(
// 注册数据模型
create: (context) => LikesModel(),
// 数据模型访问的范围,为这个组件
child: MaterialApp(
home: TestHome(),
)
);
}
}