我正在关注反应导航v3。根据规则,所有路由/屏幕均应通过createAppContainer传递。有什么办法可以使某些屏幕A作为两个屏幕B和C的子屏幕在其中包含createMaterialTopNavigator,并且可以将屏幕A传递到App.js的createAppContainer中?
答案 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中嵌套子对象,则必须根据当前导航状态来动态更改标题