我开始使用使用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吗?如果是这样,我如何构建文件?
我已经多次阅读过这些文档,但没有得到它。
答案 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就是一个很好的例子。