无法更新不可变列表项值
Unable to Update Immutable list item value
我正在尝试使用以下内容更新不可变列表 code.But 该列表是 unaltered.Why 会发生这种情况吗?
private gaparameterlist: Immutable.List<ConfigurationConstant>;
private updateItem(globalparameter: enums.IASamplingGlobalParameters, event) {
let item = this.gaparameterlist.find(x => x.key === globalparameter);
item.value = event.target.value;
this.gaparameterlist.set(0, item);
}
Immutable.List.set() 不修改原始列表,而是 returns 具有新值的副本。
所以你需要保存this.gaparameterlist.set(0, item)
的结果:
private updateItem(globalparameter: enums.IASamplingGlobalParameters, event) {
let item = this.gaparameterlist.find(x => x.key === globalparameter);
item.value = event.target.value;
this.gaparameterlist = this.gaparameterlist.set(0, item); // save new immutable list returned by list.set()
}
我正在尝试使用以下内容更新不可变列表 code.But 该列表是 unaltered.Why 会发生这种情况吗?
private gaparameterlist: Immutable.List<ConfigurationConstant>;
private updateItem(globalparameter: enums.IASamplingGlobalParameters, event) {
let item = this.gaparameterlist.find(x => x.key === globalparameter);
item.value = event.target.value;
this.gaparameterlist.set(0, item);
}
Immutable.List.set() 不修改原始列表,而是 returns 具有新值的副本。
所以你需要保存this.gaparameterlist.set(0, item)
的结果:
private updateItem(globalparameter: enums.IASamplingGlobalParameters, event) {
let item = this.gaparameterlist.find(x => x.key === globalparameter);
item.value = event.target.value;
this.gaparameterlist = this.gaparameterlist.set(0, item); // save new immutable list returned by list.set()
}