You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在自定义Widget构造器中添加key以消除use_key_in_widget_constructors警告

解决方案

你只需要把key参数作为可选命名参数加到构造器的参数列表中即可,有两种写法适配不同版本的Flutter:

1. Flutter 3.0+ 推荐简化写法

直接使用super初始化形参,代码更简洁:

final TheTea? tea;
const TeaTile({super.key, this.tea});

2. 低版本Flutter兼容写法

如果你的项目还在使用Flutter 2.x版本,用传统写法显式接收并传递key给父类:

final TheTea? tea;
const TeaTile({Key? key, this.tea}) : super(key: key);

补充说明

  • key是可选命名参数,放在构造器命名参数列表的任意位置都可以,不需要和示例顺序完全一致
  • 保留key参数可以帮助Flutter框架更精准地识别组件,在列表类场景下能有效避免组件复用时出现的状态错乱问题

内容的提问来源于stack exchange,提问作者DVCone

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 19:45:03