所以我有一个需要更新或添加对象的状态,下面是我的初始状态
const initialState = {
data: [
{
perspective: 'test 1',
items: [
{
item1: 'item'
},
{
item1: 'item'
},
]
},
{
perspective: 'test 2',
items: [
{
item1: 'item'
},
{
item1: 'item'
},
]
},
{
perspective: 'test 2',
items: [
{
item1: 'item'
},
{
item1: 'item'
},
]
}
]
}
我想在任何索引中的items属性中添加另一个对象,比如说在0或1上,下面是我要插入的对象,因此,我的目标将是data[0]。items例如
{
item1: 'item'
}
我现在有一个像这样的redux代码,请记住[0]可以更改为任何索引,例如我只放了0。
const insertObj = {
item1: 'item'
}
return {
...state,
data: [
{
...state.data[0],
items: [...state.data[0].items, insertObj]
}
]
};
它实际上正在工作,对象正在插入,但由于我的目标是索引0,另一个索引正在被删除或删除,w/c它不应该是,所以如果我运行状态,输出将像这个
const initialState = {
data: [
{
perspective: 'test 1',
items: [
{
item1: 'item'
},
{
item1: 'item'
},
{
item1: 'item'
},
]
},
}
我认为我正在做的状态有问题,任何帮助都将不胜感激,也请注意,我可以选择任何索引
尝试这种方式
const insertObj = {
item1: 'item'
}
const newData = [...state.data];
newData[0].items.push(insertObj);
return {
data: newData
};