1234567891011121314151617181920212223242526272829303132 |
- import { createStore, applyMiddleware } from 'redux';
- import createSagaMiddleware from 'redux-saga';
- import { composeWithDevTools } from 'redux-devtools-extension';
- import rootReducer from '../redux/reducers';
- import rootSaga from '../redux/sagas';
- const sagaMiddleware = createSagaMiddleware();
- const bindMiddleware = (middleware) => {
- if (process.env.NODE_ENV !== 'production') {
- return composeWithDevTools(applyMiddleware(...middleware));
- }
- return applyMiddleware(...middleware);
- };
- const configureStore = (initialState = {}) => {
- const store = createStore(
- rootReducer,
- initialState,
- bindMiddleware([sagaMiddleware]),
- );
- store.runSagaTask = () => {
- store.sagaTask = sagaMiddleware.run(rootSaga);
- };
- store.runSagaTask();
- return store;
- };
- export default configureStore;
|