我正在开发我的第一个React/Redux项目。一切都很顺利,然后我试图创建一个新的减速器。我认为这是一个非常简单的,但是当我加载页面时,出现错误“Reducer X在初始化过程中返回undefined”。痕迹说这是在combineReducers()中发生的。我发现了一些类似的问题,但他们没有解决问题。React/Redux reducer在初始化期间返回undefined
的问题是,他们在createStore(),这我不这样做使用的初始化状态。
在这个问题上:Why does my Redux reducer think my state is undefined?
的问题是在减速,这是我有一个缺少的默认返回值。
我的减速机代码如下。我在开头有一个console.log(),它根本没有被调用。
减速器/ reducer_which_sorter.js
import { SORT_CAMPERS } from '../actions/index';
export default function(state = null, action) {
console.log("action is", action);
switch(action.which) {
case 'recent':
case 'alltime':
return action.which;
break;
default:
return state;
}
return state;
}
减速器/ index.js
import { combineReducers } from 'redux';
import Campers from './reducer_camper_list';
import ActiveSorter from './reducer_which_sorter';
const rootReducer = combineReducers({
campers: Campers,
activeSorter: ActiveSorter
});
export default rootReducer;
一切编译罚款。没有来自webpack的错误。我有双重,三重和四重检查我的文件路径。我没有看到任何拼写错误。任何人都可以看到我在这里失踪的东西?
在引发错误并刷新页面的行上放置一个断点。然后,当它在调试器中断时 - 你有完整的细节发生了什么。 – zerkms