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

31 lines
920 B
JavaScript

import { createStore, applyMiddleware, combineReducers, compose } from 'redux'
import createSagaMiddleware from 'redux-saga'
import rootSaga from '../sagas/root'
import { sessionReducer } from '../reducers/session.reducers';
import { messagesReducer } from '../reducers/messages.reducers';
import project from '../reducers/project'
import { usersReducer } from '../reducers/users.reducers';
const sagaMiddleware = createSagaMiddleware()
const rootReducer = combineReducers({
session: sessionReducer,
messages: messagesReducer,
project,
users: usersReducer,
});
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;
}