网站搜索

typescript - React 导航应用结构 Tabbar 可见


我有一张简单的图片来说明这个问题

这是简化的应用结构。我有一个标签栏导航,它有三个屏幕 A B C。

TabBar A 是一个包含 D 和 E 的堆栈导航器

我还有一个包含 F 和 G 的堆栈导航器

当我调用 F 时,我希望 TabBar 可见(在顶部)。实现这一点的最佳方法是什么?因为在这种情况下,如果我从 A 跳到 D,TabBar 会在顶部,但如果我从 A 跳到 F,则不会。

我不想把F放在与A相同的堆栈中,因为F应该可以从B和C访问,并且选项卡栏也应该在顶部。

或许一个好的例子是 Instagram 应用程序,我可以从不同的标签页屏幕访问个人资料屏幕(F),并且标签始终在顶部

我如何使用 React-Navigation 实现这一点?

我希望我已经说得很清楚,提前谢谢你。

答案#1

没有什么阻止在每个 A、B 和 C 堆中添加屏幕 F 和 G。这只是配置,而不是代码重复。

NavigationContainer
  Tab.Navigator
    A (Stack.Navigator)
      A (Screen)
      D (Screen)
      E (Screen)
      F (Screen)
      G (Screen)
    B (Stack.Navigator)
      B (Screen)
      F (Screen)
      G (Screen)
    B (Stack.Navigator)
      C (Screen)
      F (Screen)
      G (Screen)