2

Redux 让我失望:

错误:期望减速器是一个函数。在行

从索引:

const { store } = 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 };
}

根减速器

import mockReducer from './mockReducer';

export default { mockReducer };

模拟减速器

export default function reducer(state = { hola: 'as' }, { type }) {
  switch (type) {
    default:
      return state;
  }
}

找不到错误。第一次自己创建一个支持 devtools 插件的 redux 商店

4

1 回答 1

4

看起来您正在导出一个对象而不是根减速器中的一个函数。

根减速器

import mockReducer from './mockReducer';

// export default { mockReducer };
export default mockReducer;
于 2018-05-08T20:39:15.930 回答