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
屏幕。
现在,有我面对这2种情况。
场景1:我BeforeLogin
屏幕上,我不导航到任何Signin
或Signup
屏幕。而现在,当我按我的Android回按钮移到,关闭应用程序。这就是我想要的,能够当用户从BeforeLogin
屏幕按后退按钮以关闭应用程序。
Scenaraio 2:我BeforeLogin
屏幕上,我浏览到任何Signin
或Signup
屏幕。而现在,当我回到BeforeLogin
屏,然后按Android的返回键,应用程序没有关闭,现在。
我怎样才能解决我Scenaraio 2:?请帮忙。
不要使用qazxsw POI不必要的,因为它不会在qazxsw POI设备上运行。
无论是导航使用backhander
也就是说,如果你从A转到B和背部时,按下按钮根本不使用ios
改用this.props.navigation.replace("")
不想回到A
要么
尝试qazxsw POI新功能qazxsw POI。
在这个默认的应用程序时,按下后退按钮将关闭在开关导航仪使用的所有路线屏幕。所以,定义要退出在SwitchNavigator应用程序和其他一切在StackNavigator或者任何你使用的所有画面。