继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

简单理解Flutter widget的生命周期

NS_Royce
关注TA
已关注
手记 5
粉丝 2
获赞 21

本文主要梳理一下StatefulWidget和StatelessWidget的生命周期

image

StatelessWidget

  1. 接收外部数据
  2. 执行部件构造方法
  3. 传入数据改变时会重新渲染UI

    StatefulWidget

  4. 接收外部数据
  5. 执行部件构造方法和状态初始化方法
  6. 传入数据本类数据改变时都会重新渲染UI

image

这用到之前写的一个例子01_widget_basic
第一次运行项目
image

  1. ProductsManager部件初始化
  2. 创建ProductsManagerState
  3. 调用ProductsManagerState中的initState方法
  4. ProductsManagerState渲染
  5. Products部件初始化
  6. Products渲染
    当点击add product按钮数据发生改变时
    1.数据_products发生了变化 通过setState方法通知数据发生了改变 ProductsManagerState build方法被调用
  7. 而Products进行了重新构造,也就是说当外部数据变化时 Products中的 _products 直接被替换成传入的新数据而不是在修改原有数据

image

flutter拥有类似于react-native的状态机刷新机制,得益于分离出了StatelessWidget和StatefulWidget,资源分配更加合理的了,代码思路也清晰很多.

打开App,阅读手记
3人推荐
发表评论
随时随地看视频慕课网APP