Flutter关于StatefulWidget中State刷新时机的一点实用理解

刚入门flutter开发,使用StatefulWidget踩了很多坑,就我遇到典型问题谈谈见解。

1.initState方法只会在控件初始化的时候执行一遍。

2.控件内部执行setState方法,则会每次执行build方法。

3.控件销毁会执行dispose方法,所以一些未释放的资源可以在该方法中执行,例如计时器。

4.使用控件则外部执行setState方法,控件内部会执行didUpdateWidget方法和build方法。

5.需要外部刷新控件的状态,可以在didUpdateWidget上处理,initState不执行,所以千万不要在initState处理。

6.外部使用控件时遇到三目运算符:条件?Widget A:Widget B;类似的情况时,当执行了Widget A,外部条件改变时,执行了Widget B时,再执行到Widget A时,控件会重建,换句话说,就会执行initState,相反,从Widget A执行到Widget B ,Widget A会被销毁,即会执行dispose方法。

先总结这些,有啥不正确的地方欢迎评论指正。后续有啥感悟,我会继续追加文章。

相关推荐
夜雨声烦丿7 小时前
Flutter 框架跨平台鸿蒙开发 - 中英互译助手 - 完整开发教程
flutter·华为·harmonyos
一个小废渣9 小时前
Flutter Web端网络请求跨域错误解决方法
前端·flutter
鸣弦artha9 小时前
Flutter框架跨平台鸿蒙开发——Extension扩展方法
android·javascript·flutter
小白阿龙9 小时前
鸿蒙+flutter 跨平台开发——图像编解码与水印嵌入技术实战
flutter·华为·harmonyos·鸿蒙
夜雨声烦丿10 小时前
Flutter 框架跨平台鸿蒙开发 - 成语词典 - 完整开发教程
flutter·华为·harmonyos
[H*]10 小时前
Flutter框架跨平台鸿蒙开发——MethodChannel方法通道
flutter
kirk_wang11 小时前
Flutter艺术探索-Flutter网络请求基础:http包使用指南
flutter·移动开发·flutter教程·移动开发教程
小白阿龙11 小时前
鸿蒙+flutter 跨平台开发——基于日历视图的生理周期计算逻辑
flutter·华为·harmonyos·鸿蒙
kirk_wang11 小时前
Flutter艺术探索-Flutter包管理:pubspec.yaml配置详解
flutter·移动开发·flutter教程·移动开发教程
猛扇赵四那边好嘴.12 小时前
Flutter 框架跨平台鸿蒙开发 - 脑筋急转弯应用开发教程
flutter·华为·harmonyos