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方法。

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

相关推荐
吃好喝好玩好睡好4 小时前
OpenHarmony混合开发实战指南
c语言·python·flutter·vr·visual studio
松☆5 小时前
OpenHarmony + Flutter 混合开发高阶:实现无障碍(Accessibility)与适老化 UI 的深度集成
flutter·ui
Non-existent9876 小时前
Flutter + FastAPI 30天速成计划自用并实践-第6天
flutter·fastapi
克喵的水银蛇6 小时前
Flutter 通用弹窗组件:CommonDialog 一键实现自定义弹窗
flutter
解局易否结局7 小时前
Flutter:重塑跨平台开发的生态与实践
flutter
Android_Trot7 小时前
Flutter android 多渠道配置,多包名、icon、等配置。
android·flutter
淡写成灰8 小时前
Flutter PopScope 返回拦截完整指南
flutter
ujainu8 小时前
Flutter与DevEco Studio协同开发:HarmonyOS应用实战指南
flutter·华为·harmonyos
赵财猫._.9 小时前
【Flutter x 鸿蒙】第四篇:双向通信——Flutter调用鸿蒙原生能力
flutter·华为·harmonyos