如何使用createSlice重置Redux用户状态?
关于Redux登出时重置用户状态的问题解答
是的,执行dispatch(removeUser())是完全正确的。你的removeUser reducer已经正确将state.user重置为所有字段的初始状态,和initialState中的用户结构完全匹配,调用这个action可以精准实现登出时重置用户状态的需求。
另外可以给一个优化建议,避免重复代码,提升可维护性:当前removeUser里重置的对象和initialState.user完全一致,直接复用initialState.user会更友好,后续如果用户结构或初始值有修改,只需修改initialState一处即可,不用同步修改removeUser内的代码:
removeUser: (state) => { state.user = initialState.user; }
补充说明:你使用的是Redux Toolkit的createSlice,它内部集成了Immer,所以直接修改state的写法是符合规范的,不需要手动返回新的状态对象,你的实现方式完全符合RTK的使用要求。
内容的提问来源于stack exchange,提问作者code_learner93
相关产品推荐
相关产品推荐

