Javascript 如何在打开第二个屏幕后关闭第一个屏幕

Javascript 如何在打开第二个屏幕后关闭第一个屏幕,javascript,react-native,react-navigation,Javascript,React Native,React Navigation,我正在使用react导航 我有一个像这样的stackNavigation: export const HomeStack = StackNavigator({ Splash: { screen: Splash, }, Home: { screen: Home, }, Options: { screen: Options, }, },); 第一次,Splash屏幕打开,我使用此代码运行Home屏幕: 飞溅: this.props.navigat

我正在使用
react导航

我有一个像这样的
stackNavigation

export const HomeStack = StackNavigator({
  Splash: {
    screen: Splash,
  },
  Home: {
    screen: Home,
  },
  Options: {
    screen: Options,
  },
},);
第一次,
Splash
屏幕打开,我使用此代码运行
Home
屏幕:

飞溅:

  this.props.navigation.navigate('Home');

Home
屏幕打开时,我想关闭
Splash
屏幕。但当我在android设备上使用“后退”按钮时,它会显示
Splash
屏幕。

您需要先重置导航索引,然后才能使用
StackActions
中的
reset()
功能导航到“主页”。这样,您导航到的页面将成为应用程序的新根。以下是文档中的示例:

import { StackActions, NavigationActions } from 'react-navigation';

const resetAction = StackActions.reset({
  index: 0,
  actions: [NavigationActions.navigate({ routeName: 'Home' })],
});
this.props.navigation.dispatch(resetAction);

请参阅文档:

您需要先重置导航索引,然后才能使用
StackActions
中的
reset()
功能导航到“主页”。这样,您导航到的页面将成为应用程序的新根。以下是文档中的示例:

import { StackActions, NavigationActions } from 'react-navigation';

const resetAction = StackActions.reset({
  index: 0,
  actions: [NavigationActions.navigate({ routeName: 'Home' })],
});
this.props.navigation.dispatch(resetAction);

请参阅文档:

您可以通过简单的方式实现这一点。使用替换而不是导航

this.props.navigation.replace('Home');

你可以用简单的方法实现。使用替换而不是导航

this.props.navigation.replace('Home');