0
我想通過一個內部items
添加新鍵值對的對象一個下面給出:如何深入添加新的鍵值對對象內不可變的Js地圖在REDX ..?
{
appElements: {
layers: {
layer_1: {
background: {
width: '100px',
height: '100px',
bgColor: '#aaaaaa',
bgImage: 'http:bgimage1.png'
},
items: {
yrgroih9: {
width: '100px',
x: '200px'
},
qhy0dukj: {
width: '100px',
x: '200px'
},
'7lw2nvma': {
width: '100px',
x: '200px'
}
}
}
}
}
}
代碼用於增加內部items
新的對象:
case 'ADD_OBJECT':
return state.setIn(["appElements","layers","layer_1","items"],{
[action.objData.item_id]: {
"width": action.objData.width,
"x": action.objData.x
},
});
第一項對象嘗試添加里面的items
作品完美:
yrgroih9: {
width: '100px',
x: '200px'
}
排列的redux存儲數據(從chrome redux devtools):
但添加另一個對象將刪除的第一個條目,並添加當前條目。
也試過updateIn
函數,它不工作。
如何添加對象而不刪除舊的。
是否有你的對象的任何錯別字? 'layer_1'和'items'應該是一個數組。你能更新正確的對象結構嗎? –
有沒有基於數組的索引..只有對象的鍵值對,這是我添加的正確的對象結構...我已經添加了REDX存儲對象作爲圖像文件,以便更好地理解..幫助我.. – ArunValaven
所以這就是在哪裏錯誤進入,你沒有'qhy0dukj'或'7lw2nvma',因爲這些被忽略。 'items'將'yrgroih9'作爲關鍵字,它只有一個關鍵字,因爲它是一個散列。 –