【发布时间】:2017-09-26 05:45:40
【问题描述】:
我知道 Reducer 只是纯函数,它接受先前的状态和动作,并返回一个新的状态对象,而不是改变先前的状态。
但是虽然直接突变不是 Redux 的哲学,但它仍然是可能的(或者我错过了一些东西):
const reducer = (oldState = initialState, action) => {
switch (action.type) {
case "ACT": {
// mutate state directly instead of create a new one
oldState.subobj.ssub.key = "hi hi";
return oldState;
} default: {
return oldState;
}
}
};
为什么 redux 不执行验证来防止这种行为?
我们如何确保开发人员永远不会这样做?
【问题讨论】:
标签: javascript redux reducers mutation