我正在使用“堆栈”导航设置选项卡,并且在尝试更改组件时出现意外行为。当我浏览选项卡时,我想打开堆栈导航的第一个组件。请查看此video,以便您理解我的意思。
我尝试传递道具“ initialRouteName”,但不起作用。这是我的代码:
const familyStackNavigator = createStackNavigator({
main: { screen: parentFamilyScreen },
resume: { screen: ResumeChildScreen }
},
{
mode: 'modal',
headerMode: 'none',
initialRouteName: 'main',
});
const parentAppStack = createMaterialBottomTabNavigator({
family: {
screen: familyStackNavigator,
navigationOptions: {
tabBarIcon: FirstTabIcon,
title: 'Familia'
}
},
bag: {
screen: parentBagScreen,
navigationOptions: {
tabBarIcon: SecondTabIcon,
title: 'Bolsillo'
}
},
{
initialRouteName: 'family',
activeColor: '#ED0F21',
inactiveColor: '#333333',
barStyle: { backgroundColor: 'white' },
labeled: true
})
答案 0 :(得分:0)
您在这里有2个选择:
将您的bottomTabNavigator
隐藏在嵌套屏幕中以防止其导航,或者使用react-navigation
的导航事件。
这些是文档https://reactnavigation.org/docs/en/navigation-events.html,用于在渲染器中声明它们
这些是文档https://reactnavigation.org/docs/en/navigation-prop.html#addlistener-subscribe-to-updates-to-navigation-lifecycle,用于在屏幕内部添加eventListener
然后您可以使用willBlur来制作屏幕的pop(1)