【发布时间】:2020-06-06 19:32:04
【问题描述】:
我有一个要求,我需要在按下后退按钮时退出应用程序。基本上我尝试了BackHandler API,它可以工作但有一定的限制。所以就我而言,我觉得最好的方法是卸载所有以前安装的组件,这样当前屏幕就成为堆栈中的第一个屏幕。
我有以下屏幕:
登录
OtpVerification
名称
电子邮件
.
.
.还有更多
我需要的是,当我在 Name 屏幕上时,如果有人按下后退按钮,应用程序应该退出。但如果有人在 Email 屏幕上,用户应该只能返回到 Name 屏幕。
使用 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 });
};
【问题讨论】:
-
你使用的是什么版本的 react-navigation?
-
@LonelyCpp 版本 5
标签: react-native react-native-android react-navigation