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