我对 InheritedWidget 的了解?
InheritedWidgets 不是重建,而是我们必须创建一个具有新值的新 InheritedWidget。然后在 updateShouldNotify() 方法内部将比较它的旧对象和当前对象并返回 true 或 false。
如果 updateShouldNotify() 返回true -> 则依赖上下文得到重建。
如果 updateShouldNotify() 返回false -> 则依赖上下文不会重建。
@override
bool updateShouldNotify(_InheritedCount old) {
return old.state != state;
}
因此,每次我们创建前一个 InheritedWidget 的新实例时,都会调用该 updateShouldNotify() 方法并决定是否重建其依赖项。
关于 InheritedWidget 我想知道什么?(我困惑的事情)
- 是否每个 InheritedWidget 都需要用 StatefulWidget 包装以创建该 InheritedWidget 的新实例?
- 当 ChangeNotifier 对象向其 ChangeNotifierProvider() 发送更改通知时,ChangeNotifierProvider 是否将其 InheritedWidget(或 InheritedProvider)包装在 StatefulWidget 中以重新创建新的 InheritedWidget?
(善待我如何处理英语)