zepio/app/store/configure.js

36 lines
833 B
JavaScript
Raw Normal View History

2018-11-23 10:41:50 -08:00
// @flow
import { createStore, applyMiddleware, compose } from 'redux';
import { routerMiddleware } from 'connected-react-router';
import { createBrowserHistory } from 'history';
2018-11-23 10:41:50 -08:00
import thunk from 'redux-thunk';
import { createRootReducer } from '../reducers';
2018-11-23 10:41:50 -08:00
export const history = createBrowserHistory();
export const configureStore = (initialState: Object) => {
2018-11-23 10:41:50 -08:00
let enhancer;
const middleware = applyMiddleware(
thunk,
routerMiddleware(history),
);
2018-11-23 10:41:50 -08:00
if (
process.env.NODE_ENV !== 'production'
|| process.env.NODE_ENV !== 'staging'
) {
enhancer = compose(
middleware,
window.devToolsExtension ? window.devToolsExtension() : f => f,
);
} else {
enhancer = compose(middleware);
}
return createStore(
createRootReducer(history),
initialState,
enhancer,
);
};