Я новичок, чтобы реагировать на родной язык, и заголовок может быть неясным.Невозможно использовать navigator.push в основном компоненте маршрута
Проблема: не может использовать this.props.navigator.push
в checkLoggedInToken()
функция ниже. Он говорит this.props.navigator is undefined
Но я могу использовать ту же функцию в компонентах Login
и Signup
.
Вопрос: Может быть, я не могу получить доступ к навигатору в этом классе основного маршрута. Каков правильный способ сделать это?
Ниже мои упрощенные коды
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',
});
}
не работает this.navigator и это. props.navigator не определен: S – cjmling
Где вы размещаете console.log? Попробуйте внутри componentDidMount –
был зарегистрирован в checkLoggedInToken, но затем я попытался в componentDidMount, а также .. то же самое undefined – cjmling