123456789101112131415161718192021222324252627282930313233343536 |
- import { configureStore } from '@reduxjs/toolkit';
- import {
- persistStore,
- persistReducer,
- FLUSH,
- REHYDRATE,
- PAUSE,
- PERSIST,
- PURGE,
- REGISTER,
- } from 'redux-persist';
- import storage from 'redux-persist/lib/storage';
- import rootReducer from './root.ts';
- import { useDispatch } from 'react-redux';
- const persistConfig = {
- key: 'persist_root',
- version: 2,
- storage: storage,
- };
- const persistedReducer = persistReducer(persistConfig, rootReducer);
- export const store = configureStore({
- reducer: persistedReducer,
- middleware: (getDefaultMiddleware) =>
- getDefaultMiddleware({
- serializableCheck: {
- ignoredActions: [FLUSH, REHYDRATE, PAUSE, PERSIST, PURGE, REGISTER],
- },
- }),
- });
- export type RootState = ReturnType<typeof rootReducer>;
- export type AppDispatch = typeof store.dispatch;
- export const persistor = persistStore(store);
- export const useAppDispatch = () => useDispatch<AppDispatch>();
|