Skip to content

Instantly share code, notes, and snippets.

@alexmochu
Last active July 22, 2020 17:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alexmochu/0879ec621d80158b3a297a56c5258d88 to your computer and use it in GitHub Desktop.
Save alexmochu/0879ec621d80158b3a297a56c5258d88 to your computer and use it in GitHub Desktop.
import { configureStore, getDefaultMiddleware } from '@reduxjs/toolkit'
import createSagaMiddleware from 'redux-saga';
import { createInjectorsEnhancer } from 'redux-injectors';
import createReducer from './rootReducer'
import rootSaga from './sagas'
export default function configureAppStore(initialState = {}) {
const reduxSagaMonitorOptions = {};
const sagaMiddleware = createSagaMiddleware(reduxSagaMonitorOptions);
const { run: runSaga } = sagaMiddleware;
// sagaMiddleware: Makes redux-sagas work
const middlewares = [sagaMiddleware];
const enhancers = [
createInjectorsEnhancer({
createReducer,
runSaga,
}),
];
const store = configureStore({
reducer: createReducer(),
middleware: [...getDefaultMiddleware(), ...middlewares],
preloadedState: initialState,
devTools: process.env.NODE_ENV !== 'production',
enhancers,
});
sagaMiddleware.run(rootSaga);
return store;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment