【问题标题】:React Navigation: Switch to different stack and be able to come back to the previous stackReact Navigation:切换到不同的堆栈并能够返回到上一个堆栈
【发布时间】:2018-12-02 16:07:53
【问题描述】:

例如, 我有一个带有选项卡 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 路线按回。我不确定这是否是正确的方法。

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

【问题讨论】:

  • 所以基本上你想要的是,如果你从 A1 到 B1 ......你应该从 B1 回到 A1 ......对吧?
  • @Sarmad 绝对正确。

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


【解决方案1】:

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

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

【讨论】:

  • 是的,这正是我会做的。有用。虽然我觉得应该有一个记录在案的方法来实现这样的用例导航。
猜你喜欢
  • 2018-01-10
  • 1970-01-01
  • 2019-06-19
  • 2020-10-12
  • 1970-01-01
  • 1970-01-01
  • 2021-05-29
  • 1970-01-01
  • 2013-07-23
相关资源
最近更新 更多