Я нахожусь в процессе настройки приложения React Native с хранилищем Redux и PersistGate
.Хранилище Redux настроено и работает должным образом, но PersistGate
заставляет приложение перестать отображать даже первый экран.Без PersistGate
приложение прекрасно воспроизводится.
Вот код App.js
:
import React, {Component} from 'react';
import { Provider } from 'react-redux';
import { createStore, applyMiddleware } from 'redux';
import thunk from 'redux-thunk';
import { persistStore, autoRehydrate } from 'redux-persist';
import { PersistGate } from 'redux-persist/integration/react';
import AppNavigator from './AppNavigator';
import SplashScreen from 'react-native-splash-screen';
import allReducers from './store/reducers/index';
const store = createStore(
allReducers,
applyMiddleware(thunk),
//compose(applyMiddleware(thunk), autoRehydrate()),
);
// This line makes store persistent.
const persistor = persistStore(store);
type Props = {};
export default class App extends Component<Props> {
componentDidMount() {
if (SplashScreen) {
SplashScreen.hide();
}
}
render() {
return (
<Provider store={ store }>
<PersistGate persistor={persistor}>
<AppNavigator />
</PersistGate>
</Provider>
);
}
}
Индексный файл редуктора:
import {combineReducers} from 'redux';
import userReducer from './UserReducer';
const allReducers= combineReducers({
user: userReducer,
});
export default allReducers;
Если я удаляюТег <PersistGate persistor={persistor}>
из файла App.js
, приложение работает нормально.Но когда я использую PersistGate
, я просто вижу белый экран без сбоев.
Чего мне не хватает, что вызывает этот странный вывод?