При использовании redux-persist v6 в React Native, события клика и анимации становятся очень медленными go. Нажатие кнопки занимает около 5 или 6 секунд, прежде чем она выполняет действие. В configureStore.ts
, если я изменю createStore () на rootReducer
вместо persistedReducer
(а также закомментирую PersistGate в index.tsx), скорость отклика приложения снова возрастает. (К вашему сведению, остальная часть приложения использует react-navigation
с react-natigation-stack
.)
У кого-нибудь есть какие-либо рекомендации, чтобы приложение быстро реагировало даже при использовании reduxPersist?
index.tsx
import React from 'react';
import { Provider } from 'react-redux';
import { store, persistor } from './store/configureStore';
import { AppRegistry, View } from 'react-native';
import { MainNavigator } from './navigation/navigation';
import { PersistGate } from 'redux-persist/integration/react'
import { appId } from './config';
const App = () => {
return (
<Provider store={store} >
<PersistGate
loading={<View style={{ backgroundColor: '#ffc900' }} />}
persistor={persistor}>
<MainNavigator />
</PersistGate>
</Provider>
)
}
AppRegistry.registerComponent(appId, () => App);
configureStore.ts
import AsyncStorage from '@react-native-community/async-storage';
import { createStore, compose, applyMiddleware } from 'redux';
import { persistStore, persistReducer } from 'redux-persist';
import { rootReducer } from '../reducer/rootReducer';
import thunk from 'redux-thunk';
const persistConfig = {
key: 'root',
storage: AsyncStorage
}
const persistedReducer = persistReducer(persistConfig, rootReducer)
let store = createStore(
persistedReducer, // rootReducer,
{},
compose(applyMiddleware(thunk))
)
let persistor = persistStore(store)
export { store, persistor }