- StatefulWidget 应对有交互、需要动态变化视觉效果的场景
- StatelessWidget 则用于处理静态的、无状态的视图展示
- 当你所要构建的用户界面不随任何状态信息的变化而变化时,需要选择使用 StatelessWidget,反之则选用 StatefulWidget。前者一般用于静态内容的展示,而后者则用于存在交互反馈的内容呈现中。
- StatefulWidget 是以 State 类代理 Widget 构建的设计方式实现
- Widget 是不可变的,更新则意味着销毁 + 重建(build)。StatelessWidget 是静态的,一旦创建则无需更新;而对于 StatefulWidget 来说,在 State 类中调用 setState 方法更新数据,会触发视图的销毁和重建,也将间接地触发其每个子 Widget 的销毁和重建。
- 避免滥用StatefulWidget,这样会引起性能损耗。
- 开发过程中可以通过判断“通过父 Widget 初始化时传入的静态配置能否在初始化过程中完全确定子Widget的展示样式”这一原则来判断是否使用StatefulWidget。
Widget中的State到底是什么?
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- Flutter 的设计思想是“一切皆 Widget”。 一、demo解读 我们新建一个Flutter项目,默认生成...
- 本文介绍了Flutter应用程序中Widget,State,Context和InheritedWidget的重要概...
- 前言 在学习 Flutter 中,我们了解到 Widget 有 StatelessWidget 和 Statefu...
- 一、编程范式 在了解StatelessWidget和StatefulWidget之前,我们需要先了解Flutter...