import { configureStore } from "@reduxjs/toolkit"; // Or from '@reduxjs/toolkit/query/react' import { setupListeners } from "@reduxjs/toolkit/query"; import { checkoutApi } from "../services/checkout-service"; import checkoutReducer from "../features/checkoutReducer"; export const store = configureStore({ reducer: { [checkoutApi.reducerPath]: checkoutApi.reducer, checkout: checkoutReducer, }, // Adding the api middleware enables caching, invalidation, polling, // and other useful features of `rtk-query`. middleware: (getDefaultMiddleware) => getDefaultMiddleware().concat(checkoutApi.middleware), }); // optional, but required for refetchOnFocus/refetchOnReconnect behaviors // see `setupListeners` docs - takes an optional callback as the 2nd arg for customization setupListeners(store.dispatch); export type RootState = ReturnType; export type AppDispatch = typeof store.dispatch;