verwenden Ich bin neu, native reagieren und der Titel kann unklar sein.Kann Navigator.push nicht in Hauptroute Komponente
Problem: kann this.props.navigator.push
in checkLoggedInToken()
Funktion unten nicht verwenden. Es sagt this.props.navigator is undefined
Aber ich kann die gleiche Funktion in Login
und Signup
Komponente verwenden.
Frage: Möglicherweise kann ich in dieser Hauptwegklasse nicht auf den Navigator wie diesen zugreifen. Was ist der richtige Weg?
Unten ist mein vereinfachte Codes
class AwesomeProject extends Component {
constructor(props){
super(props);
this.state = {
loaded: false
};
this.checkLoggedInToken();
}
renderScene(route, navigator) {
if(route.id === "Signup"){
return <Signup navigator={navigator} />
}
if(route.id === "Login"){
return <Login navigator={navigator} />
}
}
render() {
return (
<Navigator
style={ styles.container }
renderScene={ this.renderScene }
initialRoute={{ id : 'Signup' , name : 'SIGNUP' }} />
);
}
checkLoggedInToken(){ //Check token online with the stored one that is it legal , not expired
this.props.navigator.push({
id: 'Home',
});
}
nicht this.navigator und dies nicht funktioniert. props.navigator ist nicht definiert: S – cjmling
Wo setzt du die console.log? Versuchen Sie innerhalb componentDidMount –
war in checkLoggedInToken einloggen, aber dann habe ich versucht in componentDidMount als auch .. gleiche Sache undefined – cjmling