UNPKG

699 BJavaScriptView Raw
1import {createStore, applyMiddleware, compose} from 'redux';
2import {routerMiddleware} from 'react-router-redux';
3import thunk from 'redux-thunk';
4
5import reducers from 'reducers';
6
7const devTools = window.devToolsExtension ? window.devToolsExtension() : f => f;
8
9export default (history, initialState = {}) => {
10
11 const middlewares = [routerMiddleware(history), thunk];
12 const enhancers = compose(applyMiddleware(...middlewares), devTools);
13 const store = createStore(reducers, initialState, enhancers);
14
15 if (module.hot) {
16 module.hot.accept('reducers', () => {
17 const nextRootReducer = require('reducers');
18 store.replaceReducer(nextRootReducer);
19 });
20 }
21
22 return store;
23};