我有一个扩展了Equatable并包含可选参数的对象。如果我尝试将这个参数添加到props getter中,就会得到错误The element type 'String?' can't be assigned to the list type 'Object'
。但是,不添加它将意味着该形参中有不同值或没有值的对象之间相等。
class Company extends Equatable {
final String name;
final String? logo;
....
@override
List<Object> get props {
return [
name,
logo, //error here
....
合适的解决方案是什么?
基础Equatable.props
getter被声明为返回List<Object?>
,而不是List<Object>
。修改您的覆盖匹配将允许您存储null
。
我建议用dynamic代替Object