contact_app/src/store/index.js
2023-06-07 09:06:58 +07:00

33 lines
855 B
JavaScript

import AsyncStorage from '@react-native-async-storage/async-storage';
import {persistReducer, persistStore} from 'redux-persist';
import {createStore, compose, applyMiddleware} from 'redux';
import {name as appName} from '../../app.json';
import rootReducer from '../reducers';
import thunk from 'redux-thunk';
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
const persistConfig = {
key: 'root',
blacklist: [],
whitelist: ['contacts'],
keyPrefix: appName,
storage: AsyncStorage,
};
const persistedReducer = persistReducer(persistConfig, rootReducer);
const configureStore = () => {
return createStore(
persistedReducer,
composeEnhancers(applyMiddleware(thunk)),
);
};
export default () => {
let store = configureStore();
let persistor = persistStore(store);
return {store, persistor};
};