Я новичок, чтобы реагировать и реагировать-нативно. Я пытаюсь настроить Firebase для аналитики. Я использую реактивный нативный редуктор с реактивным нативным редуксом. Также использую реагирование-навигацию.
Код из приложения. js в моем собственном приложении реакции:
const App = () => {
const routeNameRef = React.useRef(null);
const navigationRef = React.useRef(null);
React.useEffect(() => {
console.log('hrhr');
console.log(routeNameRef);
console.log(navigationRef);
const state = navigationRef.current.getRootState();
// Save the initial route name
routeNameRef.current = getActiveRouteName(state);
}, []);
return (
<Provider store={persistStore.store}>
<PersistGate loading={null} persistor={persistStore.persistor}>
<NavigationContainer
ref={navigationRef}
onStateChange={state => {
const previousRouteName = routeNameRef.current;
const currentRouteName = getActiveRouteName(state);
if (previousRouteName !== currentRouteName) {
// The line below uses the @react-native-firebase/analytics tracker
// Change this line to use another Mobile analytics SDK
analytics().setCurrentScreen(currentRouteName, currentRouteName);
}
// Save the current route name for later comparision
routeNameRef.current = currentRouteName;
}}>
{/***/}
</NavigationContainer>
</PersistGate>
</Provider>
);
};
Журналы:
LOG hrhr
LOG {"current": undefined}
LOG {"current": undefined}
Версии:
"react": "16.13.1",
"react-native": "0.61.5",
Приложение также имеет зависимости от реагирующего нативного редукса и огненной базы.
ОБНОВЛЕНИЕ
useEffect иногда вызывается для l oop после приложение перезагружается, хотя я передаю пустой массив в useEffect ().
UPDATE
После удаления тегов PersistGate JSX все работает нормально. Пожалуйста, дайте мне знать, как я могу это исправить.