我在react-native中使用react-navigation。
const AppNavigator = createStackNavigator({
landing: {
screen: TabNavigator
},
...createNavStack(StackRoutes)
}, {
initialRouteName: 'landing',
headerMode: 'screen',
defaultNavigationOptions: () => {
return {
header: null
};
}
});
导航正常。我以自定义方式处理导航
<NavigationStack ref={(navRef) => {
const idx = getDefaultRoute(BottomStackRoutes);
getNavigationHelper(navRef, BottomStackRoutes[idx].route, idx);
}} />
导航行为的描述
我拥有的第一条路线是底部标签导航器,其他路线是根导航器中的屏幕组件。 我有四个底部标签。并且在每个步骤中,我都会记录导航器参考并检查路线状态
让我们假设我按顺序导航 首页-> BottomNavItem2 => state.nav.routes.length = 1
BottomNavItem2-> BottomNavItem3 => state.nav.routes.length = 1
BottomNavItem3-> StackItem2 => state.nav.routes.length = 2
StackItem2-> StackItem3 => state.nav.routes.length = 3
StackItem3-> BottomNavItem4 => state.nav.routes.length = 1
在最后一种情况下,我希望增加长度,以便在回退时可以回溯。我以为没有传递键一定会造成这种现象,但是键没有任何作用,因为它不会更改导航器中第一条路线的键。