无法更新不可变列表项值

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()
}