Javascript 如何在Redux的内部数组属性中添加另一个
所以我有一个状态,我需要在其中更新或添加一个对象,下面是我的初始状态Javascript 如何在Redux的内部数组属性中添加另一个,javascript,reactjs,react-redux,Javascript,Reactjs,React Redux,所以我有一个状态,我需要在其中更新或添加一个对象,下面是我的初始状态 const initialState = { data: [ { perspective: 'test 1', items: [ { item1: 'item' }, { item
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,下面是我要插入的对象,因此,我的目标将是数据[0]。例如,items
{
item1: 'item'
}
我现在在redux中有这样一个代码,请记住[0]可以更改为任何索引,我只是以0为例
const insertObj = {
item1: 'item'
}
return {
...state,
data: [
{
...state.data[0],
items: [...state.data[0].items, insertObj]
}
]
};
它实际上正在工作,并且对象正在被插入,但是因为我的目标是索引0,所以另一个索引正在被删除或删除,当然不应该,所以如果我运行状态,输出将如下所示
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
};
这在@Surya是有效的,但是你会如何用redux的方式来解释它呢?我的意思是不使用任何推力或常数,只使用扩展。谢谢你的回答!