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

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

相关推荐
风华圆舞8 小时前
Flutter + 鸿蒙 Intents Kit:页面直达能力的完整接入方案
flutter·ui·华为·harmonyos
韩曙亮8 小时前
【Flutter】Flutter 组件 ④ ( 组件渲染 的 三棵树理论 | Widget 树 → Element 树 → RenderObject 树 )
flutter·element·widget·renderobject
恋猫de小郭11 小时前
Android 17 正式版发布,全新 AI 和各种破坏性更新
android·前端·flutter
kingbal11 小时前
Windows:flutter环境搭建
windows·flutter
911hzh12 小时前
Flutter MethodChannel 跨端通信框架 zh_native_channel:快速入门、优势分析与 Pigeon 对比
flutter
911hzh12 小时前
Flutter 快速搭建新项目:用 Flutter Foundation Kit 一条命令生成带基础架构的 App 模板
flutter
kingbal13 小时前
Flutter:Flutter SDK版本管理工具FVM
android·flutter·ios·android-studio·window
风华圆舞13 小时前
鸿蒙 Flutter 页面怎么感知防窥状态并调整 UI 可见性
flutter·ui·harmonyos
天天开发13 小时前
Flutter状态管理新宠:RiverPod全面解析与实战指南
android·flutter