State
的生命周期是指 StatefuleWidget
中的 State
从创建至消灭中间的过程,在这过程中存在多个不同阶段的 Hooks
,我们可以在这些接口上实作想要的行为。
从StatefulWidget
原始码追踪 StatefulWidget
实体化的过程:
StatefulWidget
会先透过 createElement
产生 StatefulElement
StatefulElement
调用 StatefulWidget
的 createState
方法产生对应的 State
物件。State
创建时会去呼叫 initState
方法。
=> 通常会在这个阶段进行State
资料初始化的动作。
当 StatefulWidget
有使用来自InheritedWidget
的资料时会触发。
=> InheritedWidget
可以让组件存取来自 Widget Tree 上层定义的资料,因此当上层资料有异动时会触发这个 hook。
=> 同 StatelessWidget build
方法,用来定义UI的配置设定。
开发中使用 debug 模式时,在触发 Hot Reload 时会呼叫该函数
=> 可以用来 debug 状态是否正常。
当呼叫 setState
後,StatefulWidget
内部会检查是否发生异动并触发 didUpdateWidget
当组件节点即将被 Element Tree
移除时会被呼叫。
当组件节点被 Element Tree
移除後,若後续没有确认不会在使用则触发此方法并释放占用的资源。
参考《Flutter实战》图3.2 重新绘制成彩色版
我们可以从昨日的 练习成果 理解整个生命周期的过程。
Helm 常用command 以下指令应该是常常会操作到 helm create : 建立chart...
定义 MDN的定义: A closure is the combination of a funct...
【前言】 既然没有办法用既有的资源找出 Ownership,那我就自己写!但 Opensea.js...
Figma 的功能已经相当强大,但多少还是会缺乏一些功能,当我们有需要的时候,便可到社群里用关键字查...
早起运动Day8 - 身体习惯 不假思索的起床,做第一件事情以後就会带到第二件事情。 就像看...