如何防止更新嵌套对象中的数组将其转换为对象

时间:2018-01-30 13:36:48

标签: javascript arrays reactjs redux react-redux

我有一个状态,它是一个嵌套对象,在某些级别包含数组,我想更新一个值,如下所示:

a.b.c[0].d = "new value"

在Redux更新期间尝试执行深层复制时,它会将我的数组c转换为对象,因此我的应用程序会因复制对象上的数组操作不再存在而中断。

a: {
    ...state.a,
    b:{
        ...state.a.b,
        c: {
            ...state.a.b.c,    // This converts c from array to object
            [0]:{
                ...state.a.b.c[0],
                d: "new value"
            }
        }
    }

}

如何深度复制c而不将其转换为对象?

1 个答案:

答案 0 :(得分:1)

c的{​​{1}}更改,因为您写了这样的内容)

Object