import { configureStore, getDefaultMiddleware } from '@reduxjs/toolkit'; import loginReducer from './features/login/loginSlice'; import randomDataReducer from './features/randomData/randomDataSlice'; import userReducer from './features/user/userSlice'; import createSagaMiddleware from 'redux-saga'; const saga = createSagaMiddleware(); import rootSaga from './saga'; import internalServerErrorMiddleware from './middleware/internalServerErrorMiddleware'; import requestStatusMiddleware from './middleware/requestStatusMiddleware'; export const store = configureStore({ reducer: { login: loginReducer, randomData: randomDataReducer, user: userReducer, }, middleware: [...getDefaultMiddleware({thunk: false}), saga, requestStatusMiddleware, internalServerErrorMiddleware] }) saga.run(rootSaga); // Infer the `RootState` and `AppDispatch` types from the store itself export type RootState = ReturnType // Inferred type: {posts: PostsState, comments: CommentsState, users: UsersState} export type AppDispatch = typeof store.dispatch