state
每次调用 reducer 函数时,在 Redux 应用程序中对 appReducer 进行深拷贝是否有任何副作用?
我问是因为 Redux 状态的不可变更新模式文档要更新状态上的嵌套对象,您应该浅复制嵌套属性并更新它。
我很好奇在每个动作调用中对状态进行深度复制会有什么副作用。
这是一些伪代码例如
export default function appReducer(state = initialState, action){
let copiedState = JSON.parse(JSON.stringify(state))
switch(action){
case action.UPDATE_NESTED_PROPERTY:
copiedState.thing.anotherThing = somethingNew;
return copiedState;
case action.UPDATE_SOME_OTHER_NESTED_PROPERTY:
copiedState.differentThing.nestedProperty = "updated";
return copiedState;
default:
return state;
}
}
总是深度复制状态然后返回它的方法有什么不好?我还没有看到这样做,所以我假设它有问题。如果状态是一个巨大的对象,那么我确信每次都进行深度复制可能会出现性能问题。但这会导致其他问题吗?