UNPKG

@ozanmanav/react-native-boilerplate-ts

Version:

TheCodingMachine React Native Boilerplate With Typescript

61 lines (48 loc) 1.25 kB
import AsyncStorage from '@react-native-async-storage/async-storage' import { combineReducers } from 'redux' import { persistReducer, persistStore, FLUSH, REHYDRATE, PAUSE, PERSIST, PURGE, REGISTER, } from 'redux-persist' import { configureStore } from '@reduxjs/toolkit' import { createSelectorHook } from 'react-redux' type RootStateType = { user:any; startup: any; } export const useSelector = createSelectorHook<RootStateType>() import startup from './Startup' import user from './User' const reducers = combineReducers({ startup, user, }) const persistConfig = { key: 'root', storage: AsyncStorage, whitelist: [], } const persistedReducer = persistReducer(persistConfig, reducers) const store = configureStore({ reducer: persistedReducer, middleware: (getDefaultMiddleware) => { const middlewares = getDefaultMiddleware({ serializableCheck: { ignoredActions: [FLUSH, REHYDRATE, PAUSE, PERSIST, PURGE, REGISTER], }, }) if (__DEV__ && !process.env.JEST_WORKER_ID) { const createDebugger = require('redux-flipper').default middlewares.push(createDebugger()) } return middlewares }, }) const persistor = persistStore(store) export { store, persistor }