手记

简单理解Flutter widget的生命周期

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

StatelessWidget

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

    StatefulWidget

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

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

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

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

3人推荐
随时随地看视频
慕课网APP