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

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

相关推荐
恋猫de小郭28 分钟前
Dart Skills CLI 1.0 :AI 时代的 Dart 交付支持
android·前端·flutter
9765033353 小时前
iOS 上架/审核 4.3a全面解读-最新
flutter·ios·objective-c·uniapp
2501_915106324 小时前
Flutter iOS混淆打包详细教程与步骤
android·flutter·ios·小程序·uni-app·iphone·webview
lqj_本人4 小时前
Flutter 鸿蒙实战:用 wakelock_plus 三方库给阅读页加上屏幕常亮
flutter·华为·harmonyos
熊猫钓鱼>_>15 小时前
Flutter app_settings 鸿蒙适配实战:Intent 体系到 Want 的跨越
flutter·华为·harmonyos·openharmony·intent·want
里欧跑得慢17 小时前
Flutter主题与样式详解
前端·css·flutter·web
程序员老刘19 小时前
现在回头看,Dart取消宏是无比正确的决定
flutter·ai编程·dart
莫道桑榆晚hh19 小时前
Flutter 双端开发实战:一套代码搞定 iOS + Android,从开发到上架全流程
flutter
Zeaon21 小时前
别再手写筛选栏了:一个可组合的 Flutter 选择组件(5 入口 × 7 委托)
android·flutter
事圆则缓21 小时前
Flutter 快速上手
flutter