Flutter Lint规则问题:如何解决“Don't override fields”警告
解决Flutter Lint警告“Don't override fields”
问题出在你子类中重新定义了父类已有的key字段——即便去掉@override注解,这种重复声明父类字段的行为依然会触发该Lint规则。
修复方法:
不要在子类中声明key字段,直接在构造函数参数里通过super.key将参数传递给父类即可,无需单独定义子类的key成员变量。
修改后的代码示例:
FeedViewArticle( this.articleId, this.image, { super.key, // 直接传递key给父类,无需子类声明key字段 });
如果需要保留原构造函数里的super(key: key)写法,也可以这么写(不过super.key已经完成了参数传递,这一步可以省略):
FeedViewArticle( this.articleId, this.image, { super.key, }) : super(key: key);
这样既满足了向父类传递key的需求,又不会违反Lint规则,因为子类没有重新定义父类已有的key字段,只是在构造时传递参数给父类。
内容的提问来源于stack exchange,提问作者SaDev
相关产品推荐
相关产品推荐

