如何在自定义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
相关产品推荐
相关产品推荐

