receptor/src/store.js

39 lines
827 B
JavaScript

import {
applyMiddleware,
createStore,
compose
} from 'redux';
import thunk from 'redux-thunk';
import createHistory from 'history/createBrowserHistory';
import { routerMiddleware, push } from 'react-router-redux'
import reducer from './reducers';
export const history = createHistory();
const _compose =
window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__
|| compose;
let store;
export const create = () => {
store = createStore(
reducer,
_compose(applyMiddleware(thunk, routerMiddleware(history))),
);
};
create();
if (module.hot) {
// Enable webpack hot module replacement for reducers
module.hot.accept(
'./reducers',
() => store.replaceReducer(reducers)
);
}
export const dispatch = action => store.dispatch(action);
export const getState = () => store.getState();
export default store;