深色模式
Flutter状态共享
理解InheritedWidget
InheritedWidget
的作用是为下层的Widget
提供数据共享。
TIP
inherit在英语里面是动词继承、遗传的意思。
InheritedWidget
类的结构非常简单:
updateShouldNotify()
方法的作用,是通过对比新旧Widget
数据,决定是否通知下层Widget
。
它的代码:
dart
@protected
bool updateShouldNotify(covariant InheritedWidget oldWidget);
理解ValueNotifier
ValueNotifier
的继承关系:
Provider
状态管理,就是访问状态、响应状态。
- 访问状态:包括读取、修改。
- 响应状态:当状态改变时,自动通知所有订阅者。
Provider就是通过InheritedWidget
和ChangeNotifier
实现的。