如何解决combineReducers 无法正常工作任何人都可以看到问题吗?
我的应用中有两个不同的减速器 => nodesReducer
和 controlsReducer
如果我一次将它们传递到商店,它们工作得很好,但是每当我使用 combineReducers,它们就会停止工作 => 因为我从 state 中提取的所有东西都变成了 undefined
在我的组件中,但一切仍然在工具包扩展中看起来很正常。
这是代码。
这完全没问题(单个减速器直接放在那里):
import { configureStore } from "@reduxjs/toolkit";
import nodesReducer from "./Node";
const store = configureStore({
reducer: nodesReducer,middleware: [],});
export default store;
当我用 combineReducers 再添加一个 reducer 时,这个就不起作用了:
import { configureStore } from "@reduxjs/toolkit";
import { combineReducers } from "redux";
import nodesReducer from "./Node";
import controlsReducer from "./Controls";
const rootReducer = combineReducers({
nodesReducer,controlsReducer,});
const store = configureStore({
reducer: rootReducer,});
export default store;
谁能看出哪里出了问题?
解决方法
这里有一些有根据的猜测,但您提供的内容似乎没有明显错误,因此鉴于您只更改了减速器代码,我想这是因为通过组合减速器,您的状态将从:
{
...stuffFromNodesReducer
}
进入
{
nodesReducer: ...stuffFromNodesReducer,controlsReducer: ...stuffFromControlsReducer
}
您应该能够使用 redux devtools 检查您的 redux 状态以检查它的外观。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。