Я хочу перейти от экрана входа в систему к экрану регистрации при нажатии сенсорной кнопки стиля непрозрачности.Я также хочу установить начальный экран на экран входа в систему.Тем не менее, я либо получаю ошибки или непреднамеренное поведение при попытке решения, которые работали для других.Ниже часть моего класса LoginForm, где кнопка нажата.
import React, {Component} from 'react';
import { StyleSheet, View, TextInput, TouchableOpacity, Text} from 'react-native
';
export default class LoginForm extends Component {
startRegistration() {
this.props.navigation.navigate('Registration');
}
<TouchableOpacity onPress={this.startRegistration} style={style
s.buttonRegister}>
<Text style={styles.buttonText}>REGISTER</Text>
</TouchableOpacity>
Когда нажимается кнопка регистрации, она вызывает функцию startRegistration.Вот мой класс App.js:
import React, {Component} from "react";
import {createStackNavigator, createAppContainer} from "react-navigation";
import Login from './src/components/login/Login';
import Registration from './src/components/login/Registration';
export default class FastAttendance extends Component {
render() {
return <AppContainer />
}
}
const AppNavigator = createStackNavigator({
Login: {screen: Login},
Registration: {screen: Registration},
},
{
initialRouteName: 'Login',
}
);
const AppContainer = createAppContainer(AppNavigator);
Когда я пытаюсь запустить это, мой экран входа в систему выглядит нормально, но когда я нажимаю кнопку регистрации, я получаю ошибку "undefined не является объектом (оценивая" это.props.navigation ')».Как и предлагалось в других темах, я удалил this.props в этот код
navigation.navigate('Registration');
Однако, когда я нажимаю кнопку регистрации, я получаю сообщение об ошибке «Не удается найти переменную: навигация»
Еще один вариант, который я попробовал, - это изменить функцию createStackNavigator в моем файле App.js следующим образом:
const AppNavigator = createStackNavigator({
screen: Login,
screen: Registration
});
Очевидно, что при отсутствии начального маршрута указывалось, что поведение не очень хорошее, и приложение при запуске сразу переходит к экрану регистрации.приложение, но нет ошибок.Что-то не так с моей функцией createStackNavigator или чем-то еще?