zepio/app/redux/create.js

29 lines
936 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 { createHashHistory } from 'history';
2018-11-23 10:41:50 -08:00
import thunk from 'redux-thunk';
2019-01-29 07:36:13 -08:00
import type { RouterHistory } from 'react-router-dom';
import { createRootReducer } from './modules/reducer';
import { errorHandler } from './errorHandler';
2018-11-23 10:41:50 -08:00
2019-01-29 07:36:13 -08:00
export const history: RouterHistory = createHashHistory();
2019-01-29 07:36:13 -08:00
const shouldEnableDevTools = (process.env.NODE_ENV !== 'production' || process.env.NODE_ENV !== 'staging')
2018-12-15 07:10:39 -08:00
&& window.devToolsExtension;
export const configureStore = (initialState: Object) => {
// $FlowFixMe
const middleware = applyMiddleware(thunk, routerMiddleware(history), errorHandler);
2018-11-23 10:41:50 -08:00
const enhancer = compose(
middleware,
shouldEnableDevTools ? window.devToolsExtension() : f => f,
);
2018-11-23 10:41:50 -08:00
// $FlowFixMe
2018-12-03 11:27:56 -08:00
return createStore(createRootReducer(history), initialState, enhancer);
};