mirror of
https://github.com/ershisan99/flashcards-example-project.git
synced 2025-12-18 05:09:23 +00:00
25 lines
877 B
TypeScript
25 lines
877 B
TypeScript
import { configureStore } from '@reduxjs/toolkit'
|
|
import { setupListeners } from '@reduxjs/toolkit/query/react'
|
|
import { TypedUseSelectorHook, useDispatch, useSelector } from 'react-redux'
|
|
|
|
import { baseApi } from './base-api'
|
|
|
|
import { decksSlice } from '@/services/decks/decks.slice.ts'
|
|
|
|
export const store = configureStore({
|
|
reducer: {
|
|
[baseApi.reducerPath]: baseApi.reducer,
|
|
[decksSlice.name]: decksSlice.reducer,
|
|
},
|
|
middleware: getDefaultMiddleware => getDefaultMiddleware().concat(baseApi.middleware),
|
|
})
|
|
|
|
export type AppDispatch = typeof store.dispatch
|
|
export type RootState = ReturnType<typeof store.getState>
|
|
|
|
// Use throughout your app instead of plain `useDispatch` and `useSelector`
|
|
export const useAppDispatch: () => AppDispatch = useDispatch
|
|
export const useAppSelector: TypedUseSelectorHook<RootState> = useSelector
|
|
|
|
setupListeners(store.dispatch)
|