codecrumbs/example-project/src-client/store.js

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;
};