InheritedWidget 是否应该总是需要成为 StatefulWidget 的 child?
Is InheritedWidget should always need to be a child of StatefulWidget?
我对 InheritedWidget 了解多少?
InheritedWidget 不是重建的,而是我们必须创建一个具有新值的新 InheritedWidget。
然后在 updateShouldNotify() 方法内部将比较其旧的和当前的 object 和 return true 或 false.
if updateShouldNotify() returns true -> 然后相关上下文得到重建。
if updateShouldNotify() returns false -> 依赖上下文不会重建。
@override
bool updateShouldNotify(_InheritedCount old) {
return old.state != state;
}
因此,每次我们创建先前 InheritedWidget 的新实例时,都会调用 updateShouldNotify() 方法并决定是否重建其依赖项。
关于 InheritedWidget 我想知道什么?(我困惑的事情)
- 是否每个 InheritedWidget 都需要用 StatefulWidget 包装才能创建该 InheritedWidget 的新实例?
- 当 ChangeNotifier object 向其 ChangeNotifierProvider() 发送更改通知时,ChangeNotifierProvider 是否将其 InheritedWidget(或 InheritedProvider)包装在 StatefulWidget 中以重新创建新的 InheritedWidget?
(请善待我处理英语的方式)
事实上,大多数时候您需要将 InheritedWidget
包裹在 StatefulWidget
中才能进行重建。
使用 InheritedNotifier
而不是 InheritedWidget
时会出现异常,但这种情况很少见。
Does ChangeNotifierProvider wrap its InheritedWidget (or InheritedProvider) in a StatefulWidget to recreate new InheritedWidget, when ChangeNotifier object sends change notification to its ChangeNotifierProvider() ?
这与 Provider 所做的类似,是的。
虽然它不使用这个确切的组合。相反,Provider 实现了一种新的 InheritedWidget:InheritedProvider
.
此 InheritedProvider
在一个小部件中既是 StatefulWidget
又是 InheritedWidget
。这是一个 InheritedWidget
和 setState
/ dispose
我对 InheritedWidget 了解多少?
InheritedWidget 不是重建的,而是我们必须创建一个具有新值的新 InheritedWidget。 然后在 updateShouldNotify() 方法内部将比较其旧的和当前的 object 和 return true 或 false.
if updateShouldNotify() returns true -> 然后相关上下文得到重建。
if updateShouldNotify() returns false -> 依赖上下文不会重建。
@override
bool updateShouldNotify(_InheritedCount old) {
return old.state != state;
}
因此,每次我们创建先前 InheritedWidget 的新实例时,都会调用 updateShouldNotify() 方法并决定是否重建其依赖项。
关于 InheritedWidget 我想知道什么?(我困惑的事情)
- 是否每个 InheritedWidget 都需要用 StatefulWidget 包装才能创建该 InheritedWidget 的新实例?
- 当 ChangeNotifier object 向其 ChangeNotifierProvider() 发送更改通知时,ChangeNotifierProvider 是否将其 InheritedWidget(或 InheritedProvider)包装在 StatefulWidget 中以重新创建新的 InheritedWidget?
(请善待我处理英语的方式)
事实上,大多数时候您需要将 InheritedWidget
包裹在 StatefulWidget
中才能进行重建。
使用 InheritedNotifier
而不是 InheritedWidget
时会出现异常,但这种情况很少见。
Does ChangeNotifierProvider wrap its InheritedWidget (or InheritedProvider) in a StatefulWidget to recreate new InheritedWidget, when ChangeNotifier object sends change notification to its ChangeNotifierProvider() ?
这与 Provider 所做的类似,是的。
虽然它不使用这个确切的组合。相反,Provider 实现了一种新的 InheritedWidget:InheritedProvider
.
此 InheritedProvider
在一个小部件中既是 StatefulWidget
又是 InheritedWidget
。这是一个 InheritedWidget
和 setState
/ dispose