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

31 lines
934 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;
}