我正在设计一个redux减速器,遇到了必须添加嵌套表单数据的情况。我无法想到这种情况。
包含突变的陈述是:
state[var1][var2] = val
我们如何以非变异的方式编写此代码,以便可以在reducer中使用。
答案 0 :(得分:1)
只需执行以下操作:
return {
...state,
var1: {
...state.var1,
var2: val
}
};
或者您可以使用immer
:
import produce from "immer";
let val = 5;
const state = { var1: { var2: 3 } };
const nextState = produce(state, draftState => {
draftState.var2 = val;
})