BackHandler在本地做出反应不工作

问题描述 投票:1回答:1
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个按键。登入并注册该导航我SigninSignup屏幕。

现在,有我面对这2种情况。

场景1:我BeforeLogin屏幕上,我不导航到任何SigninSignup屏幕。而现在,当我按我的Android回按钮移到,关闭应用程序。这就是我想要的,能够当用户从BeforeLogin屏幕按后退按钮以关闭应用程序。

Scenaraio 2:我BeforeLogin屏幕上,我浏览到任何SigninSignup屏幕。而现在,当我回到BeforeLogin屏,然后按Android的返回键,应用程序没有关闭,现在。

我怎样才能解决我Scenaraio 2:?请帮忙。

android reactjs react-native react-navigation react-navigation-stack
1个回答
1
投票

不要使用qazxsw POI不必要的,因为它不会在qazxsw POI设备上运行。

无论是导航使用backhander

也就是说,如果你从A转到B和背部时,按下按钮根本不使用ios改用this.props.navigation.replace("")不想回到A

要么

尝试qazxsw POI新功能qazxsw POI。

在这个默认的应用程序时,按下后退按钮将关闭在开关导航仪使用的所有路线屏幕。所以,定义要退出在SwitchNavigator应用程序和其他一切在StackNavigator或者任何你使用的所有画面。

© www.soinside.com 2019 - 2024. All rights reserved.