Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Redux的内部数组属性中添加另一个_Javascript_Reactjs_React Redux - Fatal编程技术网

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的方式来解释它呢?我的意思是不使用任何推力或常数,只使用扩展。谢谢你的回答!