React Navigation导航功能类似于goBack

时间:2018-09-26 15:15:09

标签: react-native react-navigation

在我的React Native项目中,我希望用户导航到“登录”页面。并且,在登录页面上,用户可以填写输入内容进行登录。然后,如果登录过程成功,则用户应导航回主页。

我正在使用this.props.navigation.navigate函数进行所有导航。但是在登录页面上,导航功能无法正常运行。它的工作方式类似于goBack函数。因此,我无法更新首页的状态。

我应该怎么做才能使导航功能始终起作用?

1 个答案:

答案 0 :(得分:1)

解决方案

使用Modal。 (推荐)

使用homeStackAuthStack选项包装createStackNavigationModal。或使用createSwitchNavigation

const MainStack = createStackNavigator(
  {
    Home: {
      screen: HomeStack,
    },
    Auth: {
      screen: AuthStack,
    },
  },
  {
    mode: 'modal',
  }
);

OR

使用“推”或“替换”代替“导航”可能是其他选择。

为什么?

即使屏幕已经作为流程home-> login-> home进行堆叠,即使您在stackNavigation中使用goBack,它也可以用作navigate。因此,使用modal是一种简单而酷的方法。

模式:https://reactnavigation.org/docs/en/modal.html