首页 > 解决方案 > 反应导航导航到嵌套屏幕仅在访问父级后才有效

问题描述

使用:反应导航 v5

问题:
我试图从主屏幕导航到下面描述的层次结构中的 DetailA。我不断收到错误消息:the action 'NAVIGATE' with payload ... was not handled by any navigator. Do you have a screen named 'DetailA'?

何时发生:
该问题仅在首次应用加载时发生。当用户手动打开抽屉并导航 OverviewA 时,问题自行解决。在该手动操作之后,“home”和“DetailA”之间的链接似乎恢复了。似乎最初没有加载路线(DetailA)。但是我不知道如何解决它。

这两个都失败并显示相同的错误消息:

    navigation.navigate('OverviewA', {
      screen: 'DetailA',
      params: { ... },
      initial: false,
    });

   navigation.replace('OverviewA', {
      screen: 'DetailA', 
      ...moreParams
    });

导航结构:

- drawer
-- Home
-- OverviewA
--- OverviewA
--- DetailA

在代码中:

// Drawer.navigator.js
<Drawer.Navigator>
  <DrawerNav.Screen
     name="Home"
     component={ComposerNavigator}
  />

  <Drawer.Screen
     name="OverviewA"
     component={OverviewANavigator}
  />
</DrawerNav.Navigator>


// OverviewANavigator.js
<Stack.Navigator initialRouteName="OverviewA">
   <Stack.Screen
      name="OverviewA"
      component={OverviewATabNavigator}
   />
   
   <Stack.Screen
      name="DetailA"
      component={DetailA}
    />
</Stack.Navigator>

为什么会在应用程序加载时发生这种行为的任何指示都会有很大帮助。
谢谢

标签: react-nativereact-navigation

解决方案


推荐阅读