its my store.ts file:
import storage from 'redux-persist/lib/storage'; // defaults to localStorage for web
import {
FLUSH,
PAUSE,
PERSIST,
persistReducer,
persistStore,
PURGE,
REGISTER,
REHYDRATE
} from 'redux-persist';
import { combineReducers } from 'redux';
import { configureStore, createAsyncThunk } from '@reduxjs/toolkit';
import { setupListeners } from '@reduxjs/toolkit/query';
import { authApi } from './services/authApi';
import adminReducer from './slices/adminSlice';
import { categoryApi } from './services/categoryApi';
import { PersistPartial } from 'redux-persist/es/persistReducer';
// Create a persist config
const persistConfig = {
key: 'root',
storage, // Use localStorage as the default storage
whitelist: ['admin'] // Add slices that you want to persist (e.g., 'admin')
};
// Combine reducers
const rootReducer = combineReducers({
[authApi.reducerPath]: authApi.reducer,
[categoryApi.reducerPath]: categoryApi.reducer,
admin: adminReducer
});
// Persist the root reducer
const persistedReducer = persistReducer(persistConfig, rootReducer);
export const store = configureStore({
reducer: persistedReducer,
middleware: (getDefaultMiddleware) =>
getDefaultMiddleware({
serializableCheck: false
}).concat([categoryApi.middleware, authApi.middleware]), // Concatenate both middlewares
devTools: true
});
// Optional, but recommended to enable refetching on focus/refocus
setupListeners(store.dispatch);
export const persistor = persistStore(store);
// Optional, but recommended to enable refetching on focus/refocus
setupListeners(store.dispatch);
// Types for store
export type RootState = ReturnType<typeof store.getState>;
export type AppDispatch = typeof store.dispatch;
categoryApi.ts:
import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react';
import { Category } from 'src/models/category_type';
export const categoryApi = createApi({
reducerPath: 'category',
baseQuery: fetchBaseQuery({ baseUrl: 'base_url' }),
endpoints: (builder) => ({
getCategories: builder.query<{categories: Category[]}, void>({
query: () => '/categories'
})
})
});
export const {
useGetCategoriesQuery
} = categoryApi;
categoryApi look like above and same authApi
I'm unable to find a solution why this error occur, i tried multiple solution but its not work
authApi and categoryApi created with createApi, fetchBaseQuery.
i try to concat rtk middleware authApi.middleware and categoryApi.middleware with default middleware its give some type mismatch errorerror
pls help me i am very tired and thank in advance.