Redux 正在抛出我:
Error: Expected the reducer to be a function. at lines
来自索引:
const { store } = configureStore();
来自configureStore:
const store = createStore(rootReducer, initialState, devToolsEnhancer())
index.js
import React from 'react';
import { render } from 'react-dom';
import Root from './Root';
import './index.css';
import App from './whitesheet-components/App';
import registerServiceWorker from './registerServiceWorker';
import configureStore from './store/configureStore';
const { store } = configureStore();
const MOUNT_NODE = document.getElementById('root');
const load = Component =>
render(
<App>
<Component store={store} />
</App>,
MOUNT_NODE,
);
load(Root);
registerServiceWorker();
configureStore.js
import { createStore } from 'redux';
import { devToolsEnhancer } from 'redux-devtools-extension';
import rootReducer from './rootReducer';
const isDevelopment = process.env.NODE_ENV !== 'production';
export default function configureStore(initialState = {}) {
const store = createStore(rootReducer, initialState, devToolsEnhancer());
if (isDevelopment && module.hot) {
// Enable Webpack hot module replacement for reducers
module.hot.accept('./rootReducer.js', () => {
const nextReducer = require('./rootReducer').default; // eslint-disable-line global-require
store.replaceReducer(nextReducer);
});
}
return { store };
}
rootReducer
import mockReducer from './mockReducer';
export default { mockReducer };
模拟Reducer
export default function reducer(state = { hola: 'as' }, { type }) {
switch (type) {
default:
return state;
}
}
找不到错误。第一次自己创建一个带有 devtools 插件支持的 redux store
最佳答案
看起来您正在导出一个对象而不是根 reducer 中的函数。
根 reducer
import mockReducer from './mockReducer';
// export default { mockReducer };
export default mockReducer;
关于reactjs - Redux 期望 reducer 是一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50241909/