1.无状态Widget生命周期
无状态的Widget同样也可以定义状态,只不过整个周期的状态不会发生变化,所创建的函数只会运行一次。
2.有状态的Widget生命周期
整个周期的状态是可以发生变化的,可以通过setState实现状态更新
initState() —— 当 widget 第一次插入到 widget 树时被调用,对于每一个 State 对象而言,该回调只会被调用一次。所以,通常会在该回调函数中做一些一次性的操作,比如状态初始化等。
didChangeDependencies() —— 当 State 对象的依赖发生变化时被调用,典型的场景就是应用主题改变时,Flutter 会通知 widget 调用此回调。
build() —— 用于构建 widget 树,会在以下场景被调用:
在调用 initState()以后
在调用 didUpdateWidget() 以后
在调用 setState() 以后
在调用 didChangeDependencies() 以后
在 State 对象从树中一个位置移除后又重新插入到树的其它位置之后(意思就是改变当前 Widget 在树中的位置)。
reassemble() —— 此回调为了开发调式提供的, 在热重载时被调用。
didUpdateWidget() —— 在 widget 重新构建时,Flutter 会调用 Widget.canUpdate() 来检测 widget 树中同一个位置新的节点,然后决定是否需要更新,如果 Widget.canUpdate() 返回 true,则调用此回调。
deactivate() —— 当 State 对象从树中移除时,会调用此回调。
dispose() —— 当 State 对象从树中被永久移除时调用。
发表评论
侧栏公告
寄语
譬如朝露博客是一个分享前端知识的网站,联系方式11523518。
热评文章
标签列表
热门文章
友情链接