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