我有以下路线结构:
StackNavigator
-StackNavigator
-TabNavigator
--Tab1
---Route 1 (Stack) (initial)
---Route 2 (Stack)
--Tab2
---Route 3 (Stack) (initial)
---Route 4 (Stack)
当我访问Tab1 -> Route 1 -> Route 2 -> Tab2
并返回时Tab1
,活动路线是 2 而不是initialRoute
1。
我正在做以下事情:
tabBarOnPress: ({ scene }) => {
const { route } = scene;
const tabRoute = route.routeName;
const { routeName } = route.routes[0];
navigation.dispatch(NavigationActions.navigate({ routeName: tabRoute }));
navigation.dispatch(NavigationActions.reset({
index: 0,
actions: [
NavigationActions.navigate({ routeName }),
],
}));
},
但问题是它首先显示Route 2
然后导航到Route 1
.
如何重置之前的选项卡/屏幕,以便在切换选项卡时始终直接显示初始路线。