You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Redux Toolkit中Reducer内更新State的方式是否正确?

Redux Toolkit Reducer 更新方式合规性解答

你这段代码中Reducer内更新State的写法完全合规,完全符合Immer的规则要求。

Redux Toolkit的createSlice内置了Immer库,它的核心设计就是允许开发者用"看起来可变"的语法编写状态更新逻辑,底层会自动转换为符合Redux要求的不可变更新操作。你代码里的state.getAllCountries = action.payload.data这类修改属性引用的写法,属于Immer允许的"直接修改State"的场景——不管是修改属性的原始值,还是将属性引用从null替换为新的数据对象/数组,Immer都能正确追踪这些变化,自动生成对应的不可变新状态。

只有当你需要完全替换整个state对象时,才需要返回新对象;而这种直接修改单个属性的写法,正是Redux Toolkit推荐的简化写法,完全符合规范。


内容的提问来源于stack exchange,提问作者user21934190

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 05:25:13