本文主要梳理一下StatefulWidget和StatelessWidget的生命周期
StatelessWidget
- 接收外部数据
- 执行部件构造方法
- 当传入数据改变时会重新渲染UI
StatefulWidget
- 接收外部数据
- 执行部件构造方法和状态初始化方法
- 当传入数据和 本类数据改变时都会重新渲染UI
这用到之前写的一个例子01_widget_basic
第一次运行项目
- ProductsManager部件初始化
- 创建ProductsManagerState
- 调用ProductsManagerState中的initState方法
- ProductsManagerState渲染
- Products部件初始化
- Products渲染
当点击add product按钮数据发生改变时
1.数据_products发生了变化 通过setState方法通知数据发生了改变 ProductsManagerState build方法被调用 - 而Products进行了重新构造,也就是说当外部数据变化时 Products中的 _products 直接被替换成传入的新数据而不是在修改原有数据
flutter拥有类似于react-native的状态机刷新机制,得益于分离出了StatelessWidget和StatefulWidget,资源分配更加合理的了,代码思路也清晰很多.
点击查看更多内容
3人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦