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

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

相关推荐
SoaringHeart2 小时前
Flutter最佳实践:Web项目中文字体首次加载乱码问题解决
前端·flutter
程序员老刘3 小时前
Flutter 3.47 更新要点:Material 正式分家,老项目先别急着更新
flutter·ai编程·客户端
stringwu8 小时前
Flutter Generative UI 深度架构剖析与官方 SDK 实战
flutter
唐诺10 小时前
flutter StreamController 完全使用指南
flutter·stream
GitLqr1 天前
玩转 Flutter 中的 Stack 与 Positioned:解决 UI 重叠问题的实战指南
flutter·面试·全栈
唔661 天前
flutter web iOS 在浏览器加载中文慢的问题
前端·flutter·ios
恋猫de小郭1 天前
Jetpack Compose 8 月版正式发布,核心模块 1.12
android·前端·flutter
梦想的颜色2 天前
AI 时代小白 VibeCoding 做 APP:UniApp(含 Uni‑X)、Flutter 与 React Native+Expo全维度技术选型对比指南
flutter·react native·app·uniapp·vibecoding·unippx·app产品
坚果的博客2 天前
Flutter-OH 3.44.9-dev 悄然上线|首个 OpenHarmony Canary 预览版上线
flutter