任何人都可以帮助解决此更新模式。我没有使用任何库,如 immer。
我必须更新嵌套对象,数据看起来像 dis
样本数据
{
isFetching: false
data:{
nba : {
stack :{
1:[]
}
}
}
}
我的减速机
{
...state,
isFetching: false,
data: {
...state.data,
[action.payload.team]: {
...state[action.payload.team],
[action.payload.framework]: {
...state[action.payload.framework],
[action.payload.build]: action.payload.resp
}
}
}
};
我可以更新到第二级,但无法更新第三个孩子。任何人都可以指出我错过它的地方。
我在codeandbox上放了一个演示。 https://codesandbox.io/s/todos-0ygrs
单击折叠和内部折叠项目。我正在下面的控制台中记录状态的更改。正如您在上一级别所看到的,内部版本号正在被新版本号所取代。
展开 nba 和所有三个孩子后的当前行为
{
nba: {
stack:{
3:[]
}
}
预期行为: 在您展开堆栈和所有三个孩子之后
{
nba: {
stack:{
1:[],
2:[],
3:[]
}
}
}