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,consoleImmutableJS - 推到嵌套阵列
结果:
Error: invalid keyPath
我想,也许我需要设置子列表作为List()
;尝试此操作时遇到同样的错误。
哪个键导致的错误? – Carcigenicate
很难说(https://github.com/facebook/immutable-js/issues/635)。我知道从本地运行最新的Immutable,问题是[0]不能设置 – azz0r
将'updateIn'更改为'getIn',并尝试删除“subList”键。它是否返回第一张地图? – Carcigenicate