This is my store
import {navigationReducer} from "../router/NavigationReducer";
import {loadingReducer} from "./loading/LoadingReducer";
import {i18nReducer} from "./i18n/i18nReducer";
import {combineReducers, createStore, applyMiddleware, compose} from 'redux';
import thunkMiddleware from 'redux-thunk';
import {createLogger} from 'redux-logger'
import devTools from 'remote-redux-devtools';
import { persistStore, autoRehydrate } from 'redux-persist'
import {AsyncStorage} from 'react-native'
// middleware that logs actions
const loggerMiddleware = createLogger({ predicate: (getState, action) => __DEV__ });
let reducer = combineReducers({
nav: navigationReducer,
loadingState: loadingReducer,
i18n: i18nReducer
});
function configureStore(initialState) {
const store = createStore(
reducer,
initialState,
compose(
applyMiddleware(
thunkMiddleware,
loggerMiddleware
),
autoRehydrate(),
devTools()
)
)
persistStore(store, {storage: AsyncStorage});
return store;
}
export const store = configureStore();
Most helpful comment
https://github.com/rt2zz/redux-persist/blob/master/docs/MigrationGuide-v5.md