有几个生命周期听不懂,后面的内容会再出现么?
来源:6-11 Flutter 页面生命周期实战指南
慕UI8482615
2020-07-05
didChangeDependencies、didUpdateWidget这两个实在听不懂,我是安卓开发
写回答
1回答
-
CrazyCodeBoy
2020-07-06
这两个方法平时用的不多,了解其含义就行:
didChangeDependencies():当State对象的依赖发生变化时会被调用;例如:在之前build() 中包含了一个InheritedWidget,然后在之后的build() 中InheritedWidget发生了变化,那么此时InheritedWidget的子widget的didChangeDependencies()回调都会被调用。典型的场景是当系统语言Locale或应用主题改变时,Flutter framework会通知widget调用此回调。
didUpdateWidget():在widget重新构建时,Flutter framework会调用Widget.canUpdate来检测Widget树中同一位置的新旧节点,然后决定是否需要更新,如果Widget.canUpdate返回true则会调用此回调。正如之前所述,Widget.canUpdate会在新旧widget的key和runtimeType同时相等时会返回true,也就是说在在新旧widget的key和runtimeType同时相等时didUpdateWidget()就会被调用。
10
相似问题