【发布时间】:2022-02-07 08:24:08
【问题描述】:
假设我有一个地图并且在我的代码中的某个地方,我想保存它的当前状态。我将地图二设置为地图一,并继续更改地图一的值,希望保持地图二的值相同以供参考。如果我在更改地图一后调用 setState(() {}),它似乎也会更新地图二的所有值。这不是我想要的。我想设置地图二并且不更新,直到我想再次保存地图一的状态。很难在我的代码中演示这个问题而不倾倒整个事情,所以我将尝试说明我在下面谈论的内容。忽略这段代码实际上不会运行,这就是想法。地图二的值将在小部件中使用,但为了举例,该值只是被打印出来。此代码理论上会打印 foo。我希望它开始打印。在我看来,应该有一些像 const 或 final 之类的东西,我只是想念它设置一个变量并且不会使其相对。
Map mapOne = {
'start' : 'start',
'end' : 'end'
};
late Map mapTwo;
main() {
mapTwo = mapOne;
mapOne = {
'start' : 'foo',
'end' : 'foo'
};
setState(() {});
print(mapTwo['start']);
}
【问题讨论】: