我有一个状态,它是一个嵌套的对象,它包含某些级别的数组,我想要更新一个值,如下所示:
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转换为对象的情况下进行深度复制?
发布于 2018-01-30 21:47:49
您的c更改为Object,因为您是这样写的。)
a: {
...state.a,
b:{
...state.a.b,
c: [
{
...state.a.b.c[0],
d: "new value"
},
...state.a.b.c.slice(1)
]
}
}https://stackoverflow.com/questions/48522778
复制相似问题