【发布时间】:2018-07-05 16:09:15
【问题描述】:
我有以下路线结构:
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。
如何重置以前的选项卡/屏幕,以便在切换选项卡时始终直接显示初始路线。
【问题讨论】:
-
我很忙,因此只发表评论。但是google为
jumpToIndex,它是TabBar的一个道具,也可以用来重置堆栈。 -
你可以在这里查看我对一个非常相似的问题的回答:stackoverflow.com/a/48446647/2805067
标签: javascript reactjs react-native react-navigation