反应导航:切换到其他堆栈,然后可以返回到先前的堆栈

时间:2018-12-02 16:07:53

标签: react-native react-navigation react-navigation-stack

例如, 我有一个BottomTabNavigator堆栈,其中包含选项卡A和B。 这两个标签本身就是包含以下路线的导航堆栈。

A: 
- A1
- A2
B:
- B1
- B2

在任何时候,我的应用程序都应该能够将用户从任何路线(例如B1或B2)导航到另一个堆栈的路线(例如A1或A2)。我可以通过将路由A1和A2添加到B的堆栈中来实现此目标,如下所示

B:
-B1
-B2
-A1
-A2

我这样做是为了使A的路由可在同一堆栈树中供B使用。

尽管我能够做到这一点,但我希望能够导航回路线B2(例如,如果我从B2导航至A1)。但这没有发生。从A1路线往回走。我不确定这是否正确。

如何控制导航并确保返回到我之前所在堆栈的路线。

1 个答案:

答案 0 :(得分:1)

我这样做的方式,我不确定这是否正确,但是对我有用。 例如,如果您有两个导航屏幕 A和B 在A内部,您拥有A1A1,在B内部,您拥有B1B2。 您想从A1转到B1,然后按回车键,然后返回A1。但是,正如我们看到的,您已经在其他堆栈中声明了B2,因此,当B1加载时,在其背面按车键,它会返回其父堆栈导航器。 您可以做的是,在BA中声明B1。 像这样, A: - A1 - A2 - B1 - B2 B: - B1 - B2 - A1 - A2

我不确定此解决方案是否有效,但对于复杂的导航它是否适用。