Я пытаюсь создать экран регистрации/входа с помощью stackNavigator. Но когда я пытаюсь перейти со страницы входа на страницу регистрации.
Я попытался создать константу, которая была бы свойством навигации, но я получаю то же самое. Если я делаю все свои экраны в одном файле с помощью stackNavigator, я не получаю ошибки, но на самом деле это не то, что я хочу делать.
Вот мой первый экран входа в систему (прежде чем перейти к этому экрану в index.js, я вызываю класс Welcome, чтобы проверить, не вошел ли пользователь в систему, и я возвращаю, если он не
export default class Login extends React.Component{
render(){
return(
<ScrollView style={{padding : 20}}>
<Text style={styles.title}>
Login
</Text>
<TextInput style={styles.input} placeholder="Email Address"/>
<TextInput style={styles.input} placeholder="Password" />
<View style={{margin : 7}}/>
<TouchableOpacity
onPress={() => this.props.navigation.navigate('Signup')}
>
<Text> Don't have an account? Click here</Text>
</TouchableOpacity>
<Button
onPress={this.props.onLoginPress}
title="Log in"
color='grey'
/>
</ScrollView>
);
}
}
Мой экран регистрации довольно пуст, на данный момент он возвращает только представление с заголовком. И, наконец, вот мой файл StackNavigator.
const AppNavigator = createStackNavigator({
Welcome: {
screen : Welcome
} ,
Login: {
screen: Login
},
Signup : {
screen : Signup
},
},
{
initialRouteName: "Welcome"
});
export default createAppContainer(AppNavigator);
Где Welcome — это файл, который проверяет, не вошел ли пользователь в систему.
Я получаю сообщение об ошибке: «Ошибка undefined не является объектом (оценка« _this.props.navigation.navigate »)». Когда я нажимаю в Login.js