反应导航:从特定屏幕导航到屏幕

时间:2018-01-27 17:46:33

标签: react-native react-navigation

我的导航结构如下所示:

    TabNavigator
    |
    |- StackNavigator
    |  |
    |  |- ListA
    |  |
    |  |- ShowA
    |
    |- StackNavigator
    |  |
    |  |- ListB
    |  |
    |  |- ShowB
正如您所料,

ListA会显示资源列表(类型A)。按下一个设置状态并导航到ShowA,您将在其中查看有关该特定资源的详细信息。

ListB显示资源列表(类型B),ShowB 显示资源列表,但资源类型为{{ 1}}。按下其中一个资源时,您应该导航到A

如果在ShowA上,我按下并导航到ListA,这完全有效。 如果在ShowA上,我按下并导航到ShowB,这也会按预期工作。

但是,如果我首先转到ShowA,请导航至ListA,然后(不在ShowA上按下'返回')使用TabNavigator并转到{ {1}},然后按ShowA,按下资源会打开ListB但是它的另一个屏幕实例位于堆栈顶部。因此,当我按下“返回”时,不会像我预期的那样转到ShowB,而是转到之前打开的ShowA

如果格式或说明不充分,我很抱歉。如果有人可以提供帮助,或者有人需要更多信息,请告诉我,我会尽我所能。

1 个答案:

答案 0 :(得分:0)

您应该在不同的屏幕名称下使用相同的组件注册两个屏幕。结构看起来应该是这样的:

Tab:
  Stack
    "Tab1List"
    "Tab1Show"
  Stack
    "Tab2List"
    "Tab2Show"