Я реализую избыточность в приложении-родном приложении, где я использую реагирующую навигацию.Прежде чем пытаться реализовать избыточность, работала реагирующая навигация.Мой код был:
render(){
if (this.state.loggedAndVerifiedOrNot) {
this.props.navigation.navigate('Menu');
}
else {
this.props.navigation.navigate('Login');
}
return(null)
}
Чтобы объединить избыточность и провайдера, я заменил возвращаемую (нулевую) часть на:
return (
<Provider store={Store}>
<App/>
</Provider>
)
У меня есть Ошибка типа: undefined не являетсяобъект (оценивается как this.props.navigation.navigate) Я не понимаю, откуда возникла проблема, я ничего не изменил в реагирующей навигации.
Полный код:
import React from 'react';
import { View, Text, Button, Image, TouchableOpacity, StyleSheet } from 'react-native';
import { createStackNavigator, StackActions, NavigationActions } from 'react-navigation';
import Listing from './Listing';
import Menu from './Menu';
import Login from './Login';
import TestRedux from './redux/Components/TestRedux';
import firebase from '@firebase/app'
import '@firebase/auth'
firebase.initializeApp({
XXXXXXXXXXX
});
export class App extends React.Component {
constructor(props){
super(props);
this.state = {
user:'',
loggedAndVerifiedOrNot: false
}
firebase.auth().onAuthStateChanged((user) => {
if (user != null) {
if (user.emailVerified!=null)
{
if (user.emailVerified == true)
this.setState({loggedAndVerifiedOrNot: true})
}
}
});
}
render(){
if (this.state.loggedAndVerifiedOrNot) {
this.props.navigation.navigate('Menu');
}
else {
this.props.navigation.navigate('Login');
}
//return(null)
return (
<Provider store={Store}>
<App/>
</Provider>
)
}
}
export default createStackNavigator({
Home: {
screen: App,
},
Login: {
screen: Login,
},
Menu: {
screen: Menu,
},
Listing: {
screen: Listing,
},
TestRedux: {
screen: TestRedux,
},
},
{
initialRouteName: 'Home',
}
);
Знаете ли вы, в чем проблема?