State在Flutter到底是起什么作用呢?


发文时间:2022年04月11日 15:51:02     编辑:Aaron      标签:一些flutter常用的知识点 621


在群里刚好聊起flutter中的state,记录下state的作用和变化机制。

State的四种状态

  • created:当State对象被创建时候,State.initState方法会被调用;

  • initialized:当State对象被创建,但还没有准备构建时,State.didChangeDependencies在这个时候会被调用;

  • ready:State对象已经准备好了构建,State.dispose没有被调用的时候;

  • defunct:State.dispose被调用后,State对象不能够被构建。

具体变化规则可查看 此文章

简述

    在flutter开发中我们经常会使用到State,我们知道flutter应用程序是由Widget的缓存树形结构形成的,在flutter中默认提供了两个widget类

  1. StatelessWidget 渲染出的页面不会再次被更改,即为无状态小部件

  2. StatefulWidget 渲染出的页面会再次被更改,即为有状态小部件

    那么针对于StatefulWidget里的Widget而言,在flutter的实际开发中,渲染出的页面效果会随着数据的改变而改变,即为三棵树中Element 当数据每发生一次改变,页面都会重新渲染一次,每一次都对应着一个状态,就是这里说的State。


小提问

        那么问题来了在flutter中 context和state又是什么关系呢,可以理解为关联关系

image.png

 

若无特殊说明,此文章为博主原创。
写稿不易,如需转载,请注明出处: https://www.aaroner.cn/art/32.html




SITE MAP

  FOLLOW US