React-navigation:如何添加TabNavigator中没有显示的导航?

时间:2017-08-02 13:19:19

标签: react-native react-navigation expo

我开始使用使用react-navigation的expo 我正在玩建立默认的TabNavigation应用程序。
默认情况下,它有一个RootStackNavigator,用于加载MainTabNavigator

const RootStackNavigator = StackNavigator(
  {
    Main: {
      screen: MainTabNavigator,
    },
  },
  {
    navigationOptions: () => ({
      headerTitleStyle: {
        fontWeight: 'normal',
      },
    }),
  }
);

MainTabNavigator是一个TabNavigator实例。

我已经创建了一个屏幕" ListItemScreen"并将其添加到TabNavigator中 在这个屏幕上,我想要一个按钮进入另一个屏幕" FormScreen"带有添加项目的表格 如何创建for" FormScreen"没有将它添加到TabNavigator?
我应该创建一个StackRouter吗?如果是这样,我如何构建文件?
我已经多次阅读过这些文档,但没有得到它。

1 个答案:

答案 0 :(得分:0)

您不必将FormScreen添加到TabNavigator,而是添加到StackNavigator

const RootStackNavigator = StackNavigator(
  {
    FormScreen: {
      screen: FormScreen,
    },
    /* ... other routes ... */
  }
}

因此,标签中的Button可以直接调用navigate()

<Button title="Go FormScreen" onPress={() => this.props.navigation.navigate('FormScreen')} />

官方文件Nesting a Navigator in a Screen就是一个很好的例子。