【发布时间】:2017-10-09 12:49:16
【问题描述】:
const List = Immutable.List;
const items = [
{ id: 1, subList: [] },
{ id: 2, subList: [] },
{ id: 3, subList: [] }
];
const newItem = { name: "sublist item" };
let collection = List(items);
collection = collection.updateIn([0, 'subList'], function (items) {
return items.concat(newItem)
});
https://jsbin.com/midimupire/edit?html,js,console
结果:
错误:keyPath 无效
我想也许我需要将 subList 设置为 List();我在尝试这个时遇到了同样的错误。
【问题讨论】:
-
哪个键导致错误?
-
很难说 (github.com/facebook/immutable-js/issues/635)。我知道使用最新的不可变在本地运行它,问题是 [0] 无法设置
-
将
updateIn更改为getIn,并尝试删除“subList”键。它会返回第一张地图吗?
标签: javascript immutability immutable.js