1

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

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

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

B:
-B1
-B2
-A1
-A2

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

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

我怎样才能控制导航并确保我回到我来自的上一个堆栈的路线。

4

1 回答 1

1

我这样做的方式,我不确定这是否正确,但它对我有用。例如,如果您有两个导航屏幕 A 和 B,在 A 内部有A1A1在 B 内部有B1, B2。您想从 A1 转到 B1,并且在背压时您想返回 A1。但是正如我们所见,您已经在其他堆栈中声明了 B2,因此当 B1 加载时,在其背压时它返回到其父堆栈导航器。你可以做的是,在里面声明 B1B以及A. 像这样, A: - A1 - A2 - B1 - B2 B: - B1 - B2 - A1 - A2

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

于 2018-12-03T17:03:50.063 回答