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

Redux Toolkit如何确定state对象属性名?为何selectCount需使用state.counter

Redux Toolkit 根state属性名生成逻辑

你访问的state.counter里的counter属性名,和当前slice内部的配置没有直接关联,它是你在项目根store配置阶段指定的挂载key:

  • 所有slice的reducer最终都需要传入configureStore的reducer参数进行注册,这个参数是一个对象,对象的每一个key就对应根state上的属性名,对应的值就是对应slice导出的reducer。
  • 你项目里的store配置肯定类似如下代码:
import { configureStore } from '@reduxjs/toolkit'
import countersReducer from './当前slice的文件路径'

export const store = configureStore({
  reducer: {
    // 这里的key就是你根state上的属性名,你此处写的是counter,所以访问时就需要用state.counter
    counter: countersReducer
  }
})
  • 你当前slice里createSlice传入的name字段的作用是为该slice生成的action自动加前缀,避免不同slice的action重名,比如你这个slice的updateCounter对应的action type就是based? based on what/updateCounter,和根state的挂载key没有任何关系,不要混淆这两个配置项。

如果后续你修改了store配置里的挂载key,对应的selector里的访问路径也要同步修改即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 18:12:01