使用Bloc编写flutter应用程序。示例中经常使用的模式是对状态对象使用const构造函数,以便它们是不可变的。我的状态中的一个属性是Map〈string,double〉,我在将其初始化为常量时遇到了问题。错误是:type '_UnmodifiableSet<Map<String, double>>' is not a subtype of type 'Map<String, double>'
下面是抛出错误的类构造函数:
class MyState extends Equatable {
final List<Popup> popups;
final Map<String, double> distance;
const MyState ([
popups = const <Popup>[],
distance = const <Map<String, double>>{}
]) : this.popups = popups, this.distance = distance;
如果MyState初始化时没有distance
的值,我希望它是一个空对象。列表初始化器Popup
可以工作。
1条答案
按热度按时间iq3niunx1#
这段代码可以帮助您理解(如何指定哈希Map创建):
附言
您的代码不正确。
附言附言。
此代码指定哈希集的创建。
结果:
也就是
<Map<String, double>
的Set
(Set<Map<String, double>>
)。