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: IЯ нахожусь на экране BeforeLogin
, и я не перехожу на экран Signin
или Signup
.И теперь, когда я нажимаю кнопку возврата Android, он закрывает приложение.И это то, что я хочу, чтобы иметь возможность закрывать приложение, когда пользователь нажимает кнопку «Назад» с экрана BeforeLogin
.
Сценарий 2: Я на экране BeforeLogin
и перехожу клибо Signin
, либо Signup
экран.И теперь, когда я возвращаюсь к экрану BeforeLogin
и затем нажимаю кнопку возврата Android, приложение не закрывается.
Как я могу решить мой Scenaraio 2: ?Пожалуйста, помогите.