【发布时间】:2020-01-31 11:17:10
【问题描述】:
编辑:解决方案是在我完全替换它后返回state (return state = {...action.payload})!但为什么?单独替换字段时不需要返回它。
我正在使用Redux Toolkit,它简化了一些 Redux 样板。他们做的一件事是使用 Immer 允许您直接“修改”状态(事实上,您不是)。它工作正常,除了我不知道如何完全替换我的状态部分。例如,我想做这样的事情
const reducer = createReducer({ s: '', blip: [] }, {
[postsBogus.type]: (state, action) => {
state = { ...action.payload };
}
但state 保持不变。相反,我必须这样做
[postsBogus.type]: (state, action) => {
state.s = action.payload.s;
state.blip = action.payload.blip;
}
有没有办法可以完全替换状态?
【问题讨论】:
标签: reactjs redux react-redux immer.js