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'作为关键字,它只有一个关键字,因为它是一个散列。 –