React Navigation:切换到不同的堆栈并能够返回到之前的堆栈

React Navigation: Switch to different stack and be able to come back to the previous stack

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

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

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

B:
-B1
-B2
-A1
-A2

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

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

如何控制导航并确保返回到我来自的上一个堆栈的路线。

我这样做的方式,我不确定这是否是正确的方法,但它对我有用。 例如,如果您有两个导航屏幕 甲乙 在 A 中有 A1A1,在 B 中有 B1B2。 您想从 A1 转到 B1,然后按 return 到 A1.But,因为我们可以看到您已经在其他堆栈中声明了 B2,因此当 B1 加载时,在其后按它 returns 到其父堆栈导航器。 你可以做的是,在 BA 中声明 B1。 像这样, A: - A1 - A2 - B1 - B2 B: - B1 - B2 - A1 - A2

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