Redux Toolkit初始状态异常:Redux DevTools显示reducers:undefined
问题排查与解决
问题出在store.js的配置上:你给configureStore的reducer字段传了一个返回对象的函数,但Redux Toolkit要求这里直接传入reducer映射对象,而非函数。
修正后的store.js代码
import { configureStore } from '@reduxjs/toolkit' import postsReducer from '../features/postsSlice' export default configureStore({ reducer: { posts: postsReducer, }, })
原因说明
当你把reducer设为函数时,Redux会将其当作根reducer处理,但这个函数返回的是包含postsReducer的对象,并非符合要求的「接收state和action、返回新state」的reducer函数,因此DevTools中会显示reducer: undefined。
另外,postsSlice.js里reducers为空对象是正常的,只是暂时未定义任何action creator,不影响初始状态的加载。修正store配置后,就能在Redux DevTools中正常看到posts的初始状态了。
内容的提问来源于stack exchange,提问作者Rafał
相关产品推荐
相关产品推荐

