| 12345678910111213141516171819202122232425262728293031323334353637 |
- import { routerMiddleware } from 'react-router-redux';
- import { createStore, applyMiddleware, compose } from 'redux';
- import createSagaMiddleware from "redux-saga";
- import { rootReducer } from "./reducers";
- export const sagaMiddleware = createSagaMiddleware();
- export const configureStore = (history, initialState = {}) => {
- const middlewares = [
- routerMiddleware(history),
- sagaMiddleware
- ];
- const enhancers = [
- applyMiddleware(...middlewares),
- ];
- if(__DEV__) {
- const devToolEnhancer = () => {
- return typeof window === 'object' && typeof window.devToolsExtension !== 'undefined'
- ? window.devToolsExtension() : f => f;
- };
- enhancers.push(devToolEnhancer())
- }
- const store = createStore(rootReducer, initialState, compose(...enhancers));
- if(__DEV__ && module.hot) {
- module.hot.accept('./reducers', () => {
- const nextReducer = require('./reducers').default;
- store.replaceReducer(nextReducer);
- })
- }
- return store;
- };
|