react-logo/frontend/src/store/store.js

31 lines
920 B
JavaScript
Raw Normal View History

2020-02-04 17:20:39 +01:00
import { createStore, applyMiddleware, combineReducers, compose } from 'redux'
import createSagaMiddleware from 'redux-saga'
2020-02-17 22:28:57 +01:00
import rootSaga from '../sagas/root'
2020-02-19 12:21:04 +01:00
import { sessionReducer } from '../reducers/session.reducers';
2020-02-19 13:19:04 +01:00
import { messagesReducer } from '../reducers/messages.reducers';
2020-02-19 11:53:32 +01:00
import project from '../reducers/project'
import { usersReducer } from '../reducers/users.reducers';
2020-02-04 17:20:39 +01:00
const sagaMiddleware = createSagaMiddleware()
const rootReducer = combineReducers({
2020-02-19 12:21:04 +01:00
session: sessionReducer,
2020-02-19 13:19:04 +01:00
messages: messagesReducer,
project,
users: usersReducer,
2020-02-04 17:20:39 +01:00
});
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
export function configureStore(initialState = {}) {
const store = createStore(
rootReducer,
initialState,
composeEnhancers(
applyMiddleware(sagaMiddleware)
)
)
sagaMiddleware.run(rootSaga);
return store;
}