You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
763 B
22 lines
763 B
import { createStore, applyMiddleware, compose } from "redux"; |
|
import createSagaMiddleware from "redux-saga"; |
|
import { createLogger } from "redux-logger"; |
|
import rootReducer from "../reducers"; |
|
import rootSaga from "../sagas"; |
|
|
|
export default function configureStore(initialState = {}) { |
|
const sagaMiddleware = createSagaMiddleware(); |
|
const middlewares = [sagaMiddleware]; |
|
if (process.env.NODE_ENV === "development" && process.env.REACT_APP_REDUX_LOGGING) { |
|
middlewares.push(createLogger()); |
|
} |
|
|
|
const enhancers = [applyMiddleware(...middlewares)]; |
|
const store = createStore(rootReducer, initialState, compose(...enhancers)); |
|
|
|
// Extensions |
|
store.asyncReducers = {}; // Async reducer registry |
|
sagaMiddleware.run(rootSaga); |
|
|
|
return store; |
|
}
|
|
|