redux-devtools/packages/redux-devtools-remote/examples/counter/store/configureStore.js
2021-10-28 20:39:47 +00:00

30 lines
848 B
JavaScript

import { createStore, applyMiddleware, compose } from 'redux';
import thunk from 'redux-thunk';
import invariant from 'redux-immutable-state-invariant';
import { composeWithDevTools } from 'remote-redux-devtools';
import reducer from '../reducers';
import * as actionCreators from '../actions/counter';
export default function configureStore(initialState) {
const composeEnhancers = composeWithDevTools({
realtime: true,
actionCreators,
trace: true,
});
const store = createStore(
reducer,
initialState,
composeEnhancers(applyMiddleware(invariant(), thunk))
);
if (module.hot) {
// Enable Webpack hot module replacement for reducers
module.hot.accept('../reducers', () => {
const nextReducer = require('../reducers').default;
store.replaceReducer(nextReducer);
});
}
return store;
}