Flutter:StatelessWidget vs StatefulWidget — 到底该怎么选? - 指南

news/2025/11/30 10:20:08/文章来源:https://www.cnblogs.com/yangykaifa/p/19288538

1. 开场:为什么要讲这个?

80% 的 Flutter 初学者都搞不清楚 “什么时候用 Stateless?什么时候用 Stateful?”

  • 写着写着就全变成 StatefulWidget。

  • 页面卡顿其实不是 Flutter 性能问题,而是 写法影响 rebuild 范围

  • Flutter 最大的思想:UI = 函数(state)


2. StatelessWidget — 无状态组件

✅ 定义

UI 仅由 外部传入的数据 决定,自身不保存状态。

特点

特性说明
无内部状态没有 setState
可 const直接复用,减少 rebuild
更轻量构建快,生命周期简单

生命周期

build()

什么时候用?

  • 页面展示 UI,不需要在本组件内改变状态

  • 数据变化靠 父组件传参 或 状态管理(Riverpod / Provider / Bloc)

示例

class UserAvatar extends StatelessWidget {final String url;const UserAvatar(this.url);@overrideWidget build(BuildContext context) {return Image.network(url);}
}

3. StatefulWidget — 有状态组件

✅ 定义

有一个 State 对象保存状态,需要更新 UI 时调用 setState()

特点

特性说明
自己保存状态用 setState 更新 UI
有生命周期有 init / dispose
用于交互逻辑表单、滚动、动画、输入框控制器等

生命周期(简)

createState()
initState()
didChangeDependencies()
build()   <-- 可以调用很多次
dispose()

示例:计数器

class Counter extends StatefulWidget {@overrideState createState() => _CounterState();
}
class _CounterState extends State {int count = 0;@overrideWidget build(BuildContext context) {return ElevatedButton(onPressed: () => setState(() => count++),child: Text("count = $count"),);}
}

4. 关键对比

对比点StatelessWidgetStatefulWidget
是否保存状态❌ 不保存✅ 保存
UI 是否可更新✅ 外部变化可更新✅ 内部随时更新
生命周期简单拥有完整生命周期
性能与稳定性✅ 更好⚠️ 控制不好会 rebuild 太多
推荐使用场景展示型 UI交互/动画/控制器/表单等

5. 小总结:怎么选?

不要因为会 setState 就全部用 StatefulWidget。

流程图:

是否需要内部保存状态?└── No → StatelessWidget└── Yes → StatefulWidget

进一步细分:

✅ 局部状态 → Stateful
✅ 跨组件状态 → Riverpod / Bloc
✅ UI 仅依赖外部数据 → Stateless (能 const 就 const)


6. 实战:用 Stateless + Riverpod 代替 Stateful

class UserNameText extends ConsumerWidget {@overrideWidget build(BuildContext context, WidgetRef ref) {final name = ref.watch(userProvider);return Text(name);}
}

数据和 UI 解耦:UI 变成 Stateless,状态交给 Riverpod/Bloc。

7. 常见误区与最佳实践

错误说明
✅ 全部用 Stateful太多 setState 会导致不必要的 rebuild
✅ 把 Controller 放 build() 里会不断创建/销毁,导致内存泄漏
✅ 不写 dispose()控制器没释放,会泄漏

最佳实践:

@override
void initState() {super.initState();controller = TextEditingController();
}
@override
void dispose() {controller.dispose();super.dispose();
}

8. 结论

 能 Stateless 不 Stateful
 状态尽量外置(Riverpod / Bloc)
 局部交互才用 setState

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/981622.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年靠谱的农村真火壁炉厂家最新用户好评榜

2025年靠谱的农村真火壁炉厂家用户好评榜开篇:农村取暖新趋势与市场背景随着乡村振兴战略的深入推进和农村居民生活品质的不断提升,真火壁炉作为传统与现代相结合的取暖方式,近年来在农村市场迎来了快速增长。2024-…

2025年质量好的三维家具滑轨/三节家具滑轨厂家最新实力排行

2025年质量好的三维家具滑轨/三节家具滑轨厂家实力排行行业背景与市场趋势随着中国家具制造业的持续升级和消费市场对品质要求的不断提高,作为家具核心功能件的滑轨产品也迎来了技术革新与品质提升的关键时期。2024-2…

开源AI智能名片链动2+1模式S2B2C商城小程序商业化路径优化研究 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年热门的服装激光切割机/全景激光切割机厂家最新推荐排行榜

2025年热门的服装激光切割机/全景激光切割机厂家推荐排行榜行业背景与市场趋势随着服装制造业向智能化、数字化方向快速发展,激光切割技术作为现代服装生产中的关键工艺环节,正迎来前所未有的市场机遇。据市场研究数…

2025年评价高的香氛护手霜/保湿护手霜优质厂家推荐榜单

2025年评价高的香氛护手霜/保湿护手霜优质厂家推荐榜单 行业背景与市场趋势 随着消费者对个人护理需求的不断提升,护手霜市场近年来呈现多元化、功能化的发展趋势。据《2024年中国护肤品行业白皮书》显示,护手霜品…

2025年热门的双功能阻尼隐藏轨厂家最新TOP排行榜

2025年热门的双功能阻尼隐藏轨厂家TOP排行榜 行业背景与市场趋势 随着家居智能化与高端化需求的不断提升,五金配件行业迎来了新一轮的技术革新。双功能阻尼隐藏轨作为现代家具的核心部件之一,其市场需求持续增长。…

React Native 敏捷入门指南

React Native 敏捷入门指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", …

2025年评价高的三节工业重型滑轨TOP品牌厂家排行榜

2025年评价高的三节工业重型滑轨TOP品牌厂家排行榜 行业背景与市场趋势 随着工业自动化、智能制造的快速发展,重型滑轨作为机械设备、工业设备、仓储系统、医疗设备等领域的关键部件,市场需求持续增长。三节工业重…

2025年宁波刑事辩护律所排名:刑事辩护律所哪个案例多

在刑事案件中,选择一家专业、靠谱的刑事辩护律所,关乎当事人的合法权益甚至人生走向。面对市场上众多刑事辩护律所,如何抉择?以下依据案例数量、胜诉率、专业能力等维度,为你推荐2025年宁波的刑事辩护律所。一、周…

2025年口碑好的伸铝箔四方袋/PE四方袋TOP品牌厂家排行榜

2025年口碑好的伸铝箔四方袋/PE四方袋TOP品牌厂家排行榜 开篇:行业背景与市场趋势 随着工业包装需求的不断升级,伸铝箔四方袋和PE四方袋因其优异的防潮、防静电、耐高温等特性,在电子元器件、食品、医药、化工等领…

上海春笋装饰办公室 商铺装修推荐:双场景快装与定制落地成果解析 附大量真实案例集锦

上海春笋装饰办公室 & 商铺装修推荐:双场景快装与定制落地成果解析 附大量真实案例集锦作为上海中小面积装修市场占有率前三的品牌(中国装饰百强 “上海嘉春装饰” 全资子品牌),上海春笋装饰凭借 “12 年双场景…

2025包装设计公司TOP5权威推荐:新深度测评指南,甄选企

在消费升级与品牌竞争加剧的当下,包装设计已成为企业打造产品差异化、提升品牌认知的核心抓手。2024年数据显示,优质包装设计可带动产品终端销量提升30%以上,但市场上35%的企业因选择不当遭遇设计脱节品牌定位落地效…

2025年口碑好的精密丝杆升降机厂家最新TOP实力排行

2025年口碑好的精密丝杆升降机厂家TOP实力排行行业背景与市场趋势精密丝杆升降机作为工业自动化领域的重要传动部件,近年来随着智能制造、高端装备制造业的快速发展,市场需求持续增长。2025年全球精密丝杆升降机市场…

2025年评价高的圆形防火阀/70防火阀TOP实力厂家推荐榜

2025年评价高的圆形防火阀/70防火阀TOP实力厂家推荐榜行业背景与市场趋势随着建筑安全法规的日益严格和公众安全意识的提升,防火阀作为消防排烟系统中的关键部件,市场需求持续增长。据行业研究数据显示,2025年全球防…

2025年热门的微波真空干燥机热门厂家推荐榜单

2025年热门的微波真空干燥机热门厂家推荐榜单 行业背景与市场趋势 微波真空干燥技术凭借其高效、节能、环保等优势,在制药、食品、化工等行业得到广泛应用。相较于传统干燥方式,微波真空干燥能够在低温环境下快速去…

完整教程:一文读懂计算机网络参考模型(二)

完整教程:一文读懂计算机网络参考模型(二)2025-11-30 10:03 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: b…

Qt+ffmpeg300行代码实现录屏预览

Qt+ffmpeg300行代码实现录屏预览 项目地址:https://gitee.com/lizhi_zizi/screen-record 通过ffmpeg实现ScreenCapture类获取屏幕图像数据,在QLable控价显示 ScreenCapture 处理分为两部分 1.初始化所需媒体上下文,…

2025年评价高的减速机厂家最新推荐权威榜

2025年评价高的减速机厂家推荐权威榜行业背景与市场趋势随着工业4.0的深入推进和智能制造需求的持续增长,减速机作为机械传动领域的核心部件,其市场需求呈现出稳定上升态势。2024年全球减速机市场规模已突破200亿美元…

2025年质量好的热泵式衣物烘干机/杀菌消毒衣物烘干机厂家最新热销排行

2025年质量好的热泵式衣物烘干机/杀菌消毒衣物烘干机厂家热销排行行业背景与市场趋势随着中国家庭生活品质的不断提升和健康意识的增强,衣物烘干机市场近年来呈现快速增长态势。2024-2025年,热泵式烘干机凭借其节能环…

2025年靠谱的医用抽屉滑轨厂家推荐及选购指南

2025年靠谱的医用抽屉滑轨厂家推荐及选购指南医用滑轨行业背景与市场趋势随着医疗设备行业的快速发展,医用家具及配套五金件的需求持续增长。医用抽屉滑轨作为医疗柜体系统的核心部件,其质量直接关系到医疗设备的使用…