28 lines
779 B
JavaScript
28 lines
779 B
JavaScript
import { routerMiddleware } from 'react-router-redux';
|
|
import { applyMiddleware, compose, createStore } from 'redux';
|
|
import thunk from 'redux-thunk';
|
|
import history from './history';
|
|
import reducers from './reducers';
|
|
|
|
|
|
export default (initialState = {}) => {
|
|
let middleware = applyMiddleware(thunk, routerMiddleware(history));
|
|
|
|
if (process.env.NODE_ENV !== 'production') {
|
|
const devToolsExtension = window.devToolsExtension;
|
|
if (typeof devToolsExtension === 'function') {
|
|
middleware = compose(middleware, devToolsExtension());
|
|
}
|
|
}
|
|
|
|
const store = createStore(reducers, initialState, middleware);
|
|
|
|
if (module.hot) {
|
|
module.hot.accept('./reducers', () => {
|
|
store.replaceReducer(require('./reducers').default);
|
|
});
|
|
}
|
|
|
|
return store;
|
|
};
|