One minute
Flutter的provider
背景
在类似 Flutter 的声明式框架中,如果你想要修改 UI,那么你需要重构它。所以数据要存储在widget树中的widget上层,
缺点:
- 容易出现bug
- 重新构建widget性能差
provider
幸运的是 Flutter 在 widget 中存在一种机制,能够为其子孙节点提供数据和服务。换言之,不仅仅是它的子节点,所有在它下层的 widget 都可以。
ChangeNotifier
ChangeNotifier 用于向监听器发送通知,如果定义为ChangeNotifier ,可以订阅他的变化 ,需要给改ui的时候可以调用 notifyListeners()方法;
ChangeNotifierProvider
ChangeNotifierProvider 放在需要监听的weiget 的上层,可以向其子孙节点暴露 ChangeNotifier
Consumer
CartModel 已经通过 ChangeNotifierProvider 在应用中与 widget 相关联
##连接 flutter provider