Android 如何在React Native中禁用启动屏幕后的后退按钮

Android 如何在React Native中禁用启动屏幕后的后退按钮,android,ios,react-native,expo,Android,Ios,React Native,Expo,在我完成加载启动屏幕并转到主页面后,我再次按下它以返回启动屏幕 问题是如何克服这一点,这样在进入主页后,我就无法通过手机键盘上的按钮或后退按钮返回初始屏幕 提前感谢。我想您使用的是堆栈导航器。将其更改为switch navigator,按back时将不会导航到上一个屏幕 以下是一个基本的工作示例: ps:在本例中,我使用的是react navigation 2(最新版本是3)。因为您使用的是expo,所以这是查看闪屏工作原理的最佳场所。 只需使用BackHandler即可。 文档 如何从初

在我完成加载启动屏幕并转到主页面后,我再次按下它以返回启动屏幕

问题是如何克服这一点,这样在进入主页后,我就无法通过手机键盘上的按钮或后退按钮返回初始屏幕


提前感谢。

我想您使用的是堆栈导航器。将其更改为switch navigator,按back时将不会导航到上一个屏幕

以下是一个基本的工作示例:


ps:在本例中,我使用的是react navigation 2(最新版本是3)。

因为您使用的是expo,所以这是查看闪屏工作原理的最佳场所。


只需使用BackHandler即可。 文档


如何从初始屏幕导航到主页面?您正在使用React导航吗?一些代码可能会有帮助。我只需要使用此代码>>componentWillMount(){setTimeout(()=>{this.props.navigation('Home');},3000}===================================================================================================在启动屏幕消失并且我在主页中后,我尝试按后退按钮并再次返回启动屏幕和Stuck,但我应该在哪里使用它?在app.js或splash.js中?我只使用此代码>>组件willmount(){setTimeout(()=>{this.props.navigation.navigate('Home');},3000}}===========================================================================我使用此代码重定向到Home它在每个屏幕上的工作,如何避免?或者你能在这里检查一下吗?请复习一下如何回答关于堆栈溢出的问题
componentDidMount() {
    BackHandler.addEventListener('hardwareBackPress', this.handleBackPress);
  }

  componentWillUnmount() {
    BackHandler.removeEventListener('hardwareBackPress', this.handleBackPress);
  }

  handleBackPress = () => {

    return true;  // Do nothing when back button is pressed
  }