20 lines
635 B
TypeScript
20 lines
635 B
TypeScript
import { configureStore } from '@reduxjs/toolkit';
|
|
import { TypedUseSelectorHook, useSelector } from 'react-redux';
|
|
|
|
import { api } from './api/api';
|
|
import { userSlice } from './slices/user';
|
|
|
|
export const createStore= (preloadedState = {}) => configureStore({
|
|
preloadedState,
|
|
reducer: {
|
|
[api.reducerPath]: api.reducer,
|
|
[userSlice.name]: userSlice.reducer
|
|
},
|
|
middleware: getDefaultMiddleware =>
|
|
getDefaultMiddleware().concat(api.middleware),
|
|
});
|
|
|
|
export type Store = ReturnType<ReturnType<typeof createStore>['getState']>;
|
|
|
|
export const useAppSelector: TypedUseSelectorHook<Store> = useSelector;
|