const RootNav = createStackNavigator(
{
Splash: {
screen:Splash
},
BeforeLogin: {
screen:BeforeLogin
},
Signin: {
screen:Signin,
},
Signup: {
screen:Signup
},
Tabs: {
screen:TabHolder,
},
ForgotPassword: {
screen:ForgotPassword
},
} );
下面是BackHandler
我在BeforeLogin
屏幕上使用的。
componentWillMount() {
BackHandler.addEventListener('hardwareBackPress', this.handleBackButton);
}
componentWillUnmount() {
BackHandler.removeEventListener('hardwareBackPress', this.handleBackButton);
}
handleBackButton = () => {
BackHandler.exitApp();
}
以下是BackHandler
我在我的Signin
屏幕和Signup
屏幕中使用的。
componentDidMount() {
BackHandler.addEventListener('hardwareBackPress',() => {
this.props.navigation.navigate('BeforeLogin');
return true;
});
}
我的BeforeLogin
屏幕有 2 个按钮。登录和注册将我导航到Signin
屏幕Signup
。
现在,我面临两种情况。
场景 1:我在BeforeLogin
屏幕上,但我没有导航到任何一个Signin
或Signup
屏幕。现在,当我按下我的 android 后退按钮时,它会关闭应用程序。BeforeLogin
这就是我想要的,当用户从屏幕按下后退按钮时能够关闭应用程序。
场景 2:我在BeforeLogin
屏幕上,我导航到Signin
或Signup
屏幕。现在,当我返回BeforeLogin
屏幕然后按 android 后退按钮时,应用程序现在没有关闭。
如何解决我的场景2 :?请帮忙。