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

问题描述:

我开始使用反应导航的世博会。
即时通讯使用默认的TabNavigation应用程序构建。
默认情况下,它具有加载MainTabNavigatorReact-navigation:如何添加未在TabNavigator中显示的导航?

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

的MainTabNavigator是TabNavigator实例RootStackNavigator。

我创建了一个“ListItemScreen”屏幕并将其添加到TabNavigator中。
在这个屏幕上,我想要一个按钮,用于添加项目的窗体转到另一个屏幕“FormScreen”。
如何在不将其添加到TabNavigator的情况下创建“FormScreen”?
我应该创建一个StackRouter吗?如果是这样,我如何构建文件?
我已经多次阅读文档,但没有得到它。

您不必将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给出了一个很好的例子这一点。

+1

谢谢。我完全忽略了这一部分。我认为“嵌套导航”是我不需要的更先进的东西。 –