美文网首页
2023-05-10 flutter widget更新10-St

2023-05-10 flutter widget更新10-St

作者: 我是小胡胡123 | 来源:发表于2023-05-09 11:37 被阅读0次

flutter widget更新10-StateFullWidget生命周期

StatefullWidget生命周期

生命周期的状态转换图如下。
灰色方块StatefulWidget是状态转换时调用的方法。
其余StatefulWidget为州名。有4 种
StatefulWidget状态。
created
initialized
ready
defunct

image.png

创建

StatefulWidget状态的createState方法。 并在达到状态后,被调用。created
created initState()

@override
void initState() {
  super.initState();
 
}

initState是在Widget 初始化时只调用一次的方法。

初始化

initState()之后,initialized过渡到状态。
initialized进入状态后didChangeDependencies()调用。
didChangeDependencies()是在 State 对象的依赖项发生变化时调用的方法。

@override
void didChangeDependencies() {
super.didChangeDependencies();

}

准备好

didChangeDependencies()完成后,转移到就绪状态。
第一次build()被立即调用并构建小部件。

setState()将强制重建小部件并build()再次调用。

如果重建父窗口小部件,也会didUpdateWidget()调用。
随后是小部件重建 ( build())。
其他的更新过程,didUpdateWidget()把过程写在.

@override
void didUpdateWidget(MyHomePage oldWidget) {
super.didUpdateWidget(oldWidget);

}

不复存在

小部件被完全摧毁。
在此状态之前dispose()调用。
作为具体示例,dispose()我们将描述与服务终止相关的处理。

@override
void dispose() {
 
  super.dispose();
}

总结

StatefulWidget我希望你已经了解了 .
(created → initialized → ready → defunct)经常
StatefulWidget被使用,所以我认为你不需要太在意

initState()
setState()
dispose()
didChangeDependencies
didUpdateWidget

转:https://zenn.dev/mukkun69n/articles/552173cb084e18

整理:

首次加载

initState()
didChangeDependencies
build

setState修改

一、 widget 完全相同

二、 widget 类型相同,key相同
didUpdateWidget
build

三、 widget 类型相同,key不同; widget 类型不同
initState()
didChangeDependencies
build

hot reload
didUpdateWidget
build

hot restart
initState()
didChangeDependencies
build
didUpdateWidget
build

相关文章

网友评论

      本文标题:2023-05-10 flutter widget更新10-St

      本文链接:https://www.haomeiwen.com/subject/nqersdtx.html