在组件屏幕内调用Tab导航器

时间:2019-07-24 08:24:50

标签: react-native react-navigation

我正在关注反应导航v3。根据规则,所有路由/屏幕均应通过createAppContainer传递。有什么办法可以使某些屏幕A作为两个屏幕B和C的子屏幕在其中包含createMaterialTopNavigator,并且可以将屏幕A传递到App.js的createAppContainer中?

1 个答案:

答案 0 :(得分:0)

该应用只需一个createAppContainer,您就可以将导航器用作屏幕。 例如:

 const BottomTabNavigator = createBottomTabNavigator({
       Stack1: {
           screen: Stack1,
       },
       Stack2: {
           screen: Stack2,
       },
       Stack3: {
           screen: Stack3
       }
    })

const authenticationSwitch = createSwitchNavigator({
   LoginScreen: {
       screen: LoginScreen,
   },
   LoadingScreen: {
       screen: LoadingScreen,
   },
   BottomTabNavigator: {
       screen: BottomTabNavigator
   }
})


export default createAppContainer(authenticationStack)

编辑。

对不起,是的,我不明白你的问题。

要具有这种行为,您可以使用customHeader创建一个StackNavigator,并从中获得一个名为`createMaterialTopNavigator的孩子。

如果标题是开箱即用的,这将起作用,但是如果您需要在topNavigator中嵌套子对象,则必须根据当前导航状态来动态更改标题