configureStore.js 852 B

12345678910111213141516171819202122
  1. import { applyMiddleware, compose, createStore } from 'redux'
  2. import thunkMiddleware from 'redux-thunk'
  3. import monitorReducersEnhancer from './monitorReducers'
  4. import loggerMiddleware from './logger'
  5. import rootReducer from '../reducers/index'
  6. //const rootReducer = require('../index').default
  7. export default function configureStore(preloadedState) {
  8. const middlewares = [loggerMiddleware, thunkMiddleware]
  9. const middlewareEnhancer = applyMiddleware(...middlewares)
  10. const enhancers = [middlewareEnhancer, monitorReducersEnhancer]
  11. const composedEnhancers = compose(...enhancers)
  12. const store = createStore(rootReducer, preloadedState, composedEnhancers)
  13. if (process.env.NODE_ENV !== 'production' && module.hot) {
  14. module.hot.accept('../reducers/index', () => store.replaceReducer(rootReducer))
  15. }
  16. return store
  17. }