如何从反应状态中删除对象?
How to Delete an Object from state in react?
我有这个对象要根据id删除。
经典的删除对象似乎不起作用我正在复制调用删除的状态,但它给我一个错误是我的语法还是应该以不同的方式处理删除?
// State Object Model
Items : {
id1 : [some items ],
id2 : [some items ],
id3 : [some items ],
id4 : [some items ],
id4 : [some items ],
}
// Reducer Delete Logic
case DELETE_OBJ:
return {
Items: {
...state.Items,
delete Items[id1]
}
};
先浅拷贝,再删除。您一定需要浅复制您正在更新的所有状态和嵌套状态。在这种情况下,您浅复制根状态,然后浅复制嵌套的 Items
状态对象。
// Reducer Delete Logic
case DELETE_OBJ:
const newState = {
...state,
Items: {
...state.Items,
},
}
delete newState.Items[id1];
return newState;
};
我有这个对象要根据id删除。 经典的删除对象似乎不起作用我正在复制调用删除的状态,但它给我一个错误是我的语法还是应该以不同的方式处理删除?
// State Object Model
Items : {
id1 : [some items ],
id2 : [some items ],
id3 : [some items ],
id4 : [some items ],
id4 : [some items ],
}
// Reducer Delete Logic
case DELETE_OBJ:
return {
Items: {
...state.Items,
delete Items[id1]
}
};
先浅拷贝,再删除。您一定需要浅复制您正在更新的所有状态和嵌套状态。在这种情况下,您浅复制根状态,然后浅复制嵌套的 Items
状态对象。
// Reducer Delete Logic
case DELETE_OBJ:
const newState = {
...state,
Items: {
...state.Items,
},
}
delete newState.Items[id1];
return newState;
};