打开第二屏后如何关闭第一屏

时间:2018-08-14 15:25:18

标签: javascript react-native react-navigation

我正在使用react-navigation

我有这样的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屏幕。

2 个答案:

答案 0 :(得分:1)

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

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

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

查看文档:{​​{3}}

答案 1 :(得分:1)

您可以通过简单的方法来实现。使用替换而不是导航

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