import { configureStore } from '@reduxjs/toolkit'; import { setupListeners } from '@reduxjs/toolkit/query/react'; import { baseAPI } from '@/shared/api/base-api'; import { rootReducer } from './root-reducer'; export const store = configureStore({ reducer: rootReducer, middleware: (getDefaultMiddleware) => getDefaultMiddleware().concat(baseAPI.middleware), devTools: process.env.NODE_ENV === 'development', }); setupListeners(store.dispatch); // 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;