У меня есть требование, при котором мне нужно выходить из приложения при нажатии кнопки «Назад». В основном я пытался с BackHandler
API, который работал, но с некоторыми ограничениями. Поэтому в моем случае я считаю, что лучше всего размонтировать все ранее смонтированные компоненты, чтобы текущий экран стал первым экраном в стеке.
У меня есть следующие экраны:
Логин
OtpVerification
Имя
Электронная почта
. , , и еще
Что мне нужно, так это то, что когда я нахожусь на экране Имя , если кто-то нажимает кнопку «Назад», приложение должно выйти. Но если кто-то находится на экране Email , пользователь должен иметь возможность go вернуться на экран Имя .
Фрагменты с использованием BackHandler
constructor(props) {
super(props);
.
.
BackHandler.addEventListener("hardwareBackPress", this._handleBackPress);
}
.
.
.
.
_handleBackPress = () => {
BackHandler.exitApp();
};
.
.
.
.
_onPress = () => {
BackHandler.removeEventListener("hardwareBackPress", this._handleBackPress);
this.props.navigation.navigate("Email", { name: this.state.name });
};