UNPKG

@mindinventory/react-native-boilerplate

Version:
58 lines (45 loc) 1.26 kB
import { combineReducers, configureStore } from '@reduxjs/toolkit'; import { useDispatch } from 'react-redux'; import { FLUSH, PAUSE, PERSIST, PersistConfig, persistReducer, persistStore, PURGE, REGISTER, REHYDRATE, } from 'redux-persist'; import { reduxStorage } from '@src/context'; import { newsData, newsDataName, userData } from './reducers'; const rootReducer = combineReducers({ newsData, userData, }); export type RootState = ReturnType<typeof rootReducer>; const persistConfig: PersistConfig<RootState> = { key: 'root', storage: reduxStorage, whitelist: [newsDataName], }; const persistedReducer = persistReducer(persistConfig, rootReducer); const store = configureStore({ devTools: true, middleware: getDefaultMiddleware => getDefaultMiddleware({ serializableCheck: { ignoredActions: [FLUSH, REHYDRATE, PAUSE, PERSIST, PURGE, REGISTER], }, thunk: { extraArgument: {}, }, }), reducer: persistedReducer, }); export const persistor = persistStore(store); export type AppDispatch = typeof store.dispatch; export const useAppDispatch = () => useDispatch<typeof store.dispatch>(); export default store; export * from './reducers'; export * from './observers';