【发布时间】:2021-04-22 04:55:36
【问题描述】:
我想更新状态并尝试了几种方法来做到这一点,但我做不到。 首先,我得到了一个 problem 获取状态,结果,我得到的是代理,而不是状态。
这是由 redux 工具包的 current() 函数修复的。
接下来,我遇到的问题是突变主切片状态。
这是一个用于变异的 reducer。
reducers: {
setUser: (state, payload) => {
console.log("before", current(state)); //init state
state.currentUser = {
...state.currentUser,
loggined: true,
};
console.log("after", current(state)); // here I have new state but...
},
clearUser: (state) => {},
},
因此,作为第二个控制台日志,当我想更改页面或只想对状态下的新数据做某事时,我必须通过useSelector() redux 函数来说明我想要的内容,作为结果,我老了,状态没有变。
为什么会这样?
Slice 状态示例:
initialState: {
currentUser: {
loggined: false,
isAdmin: false,
jwt: false,
},
},
谢谢!
【问题讨论】:
标签: reactjs redux redux-toolkit