PersistGate causing slowness
Author: adhenriqueCreated May 2, 2018Updated Nov 13, 2025
In development environment, I noticed that with each reload that the app was slow. So I did some testing, and by removing PersistGate, the app loads easily, and without any slowness.
cfgStore:
import { createStore, applyMiddleware } from 'redux';
import thunk from 'redux-thunk';
import { persistStore, persistReducer } from 'redux-persist';
import storage from 'redux-persist/lib/storage';
import reducers from './combineStore';
const persistConfig = {
key: 'root',
storage,
};
const cfgStore = () => {
const middlewares = [thunk];
const enhancer = applyMiddleware(...middlewares);
const persistedReducer = persistReducer(persistConfig, reducers);
// create store
return createStore(persistedReducer, enhancer);
};
export const persistor = persistStore(cfgStore());
export default cfgStore;index.js
// ...
export default class App extends Component {
componentDidMount(){
SplashScreen.hide()
}
render() {
// ...
return (
<Provider store={store}>
<PersistGate loading={null} persistor={persistor}>
<StatusBar
backgroundColor={mainStyle.principalBackColor}
barStyle="dark-content"
/>
<Loader loading={loader}/>
<RouterWithRedux>
<Scene key='root'>
<Scene
component={List}
// initial={isLoggedIn && token}
initial={true}
hideNavBar={true}
key='List'
title='List'
/>
</Scene>
</RouterWithRedux>
</PersistGate>
</Provider>
)
}
}My stack: react-native 0.54.4 react-native-router-flux ^4.0.0-beta.28 react-redux ^5.0.7 redux-persist ^5.9.1 redux-thunk ^2.2.0
Source: rt2zz/redux-persist