我想知道刪除 redux 操作中的嵌套字段的正確方法是什么。例如,我有這樣的代碼:const SUBSCRIBE = 'SUBSCRIBE';const UNSUBSCRIBE = 'UNSUBSCRIBE';export default function reducer(state = {}, action) { const { productName, products, componentName } = action; switch (action.type) { case UNSUBSCRIBE: { if (state[productName]?.[componentName]) { const newState = { ...state }; delete newState[productName][componentName]; return newState; } else { return state; } } default: return state; }}export function unsubscribe(productName, componentName) { return { type: UNSUBSCRIBE, productName, componentName };}在UNSUBSCRIBE操作中,我刪除了newState[productName][componentName]字段,但這也將刪除“舊”狀態的字段。因此,從理論上講,如果有其他操作使用該字段,則它們可能會丟失,因為狀態已發生突變。我應該將舊狀態深度復制到newState然后刪除嗎newState[productName][componentName]?
調度新的 redux 操作時如何正確刪除對象子字段?
慕斯王
2023-07-29 16:04:17