相关疑难解决方法(0)

在减速机中改变状态有什么后果?

redux指南指出:

我们不会改变国家.我们使用Object.assign()创建一个副本.Object.assign(state,{visibilityFilter:action.filter})也是错误的:它会改变第一个参数.您必须提供一个空对象作为第一个参数.您还可以启用对象扩展运算符提议来编写{... state,... newState}.

我碰巧写了下面的代码片段:

[actions.setSelection](state, {payload}) {
    state[payload.key] = payload.value;
    return state;
},
Run Code Online (Sandbox Code Playgroud)

我对此感到不满,并重新审视了智慧指南.我已经重写了这个:

[actions.setSelection](state, {payload}) {
    const result = Object.assign({}, state);
    result[payload.key] = payload.value;
    return result;
},
Run Code Online (Sandbox Code Playgroud)

我很确定我在我的代码的其他地方冒犯了上面提到的诫命.如果我没有勤奋地跟踪他们,我会看到什么样的后果?

(注意:上面的reducer语法是通过redux-actions.否则它将是reducer fn switch/case中的代码块.)

react-redux

5
推荐指数
1
解决办法
1974
查看次数

标签 统计

react-redux ×1