首页 > 解决方案 > 抽屉导航器的 contentComponent 内的 stackNavigator

问题描述

我正在用抽屉导航器构建一个应用程序。应该有我由 contentComponent 制作的自定义侧菜单屏幕,但问题是当用户按下按钮时我需要在抽屉内进行导航。我试图将 stackNavigator 传递给 customComponent,这会返回“没有为键定义路由 ...”。

拜托,你能帮我,在不关闭抽屉的情况下在抽屉内进行导航。

const tempSN = createStackNavigator(
  {
    screen: DrawerScreen,
    screen2: ProfileSetupScreen
  },
  { initialRouteName: "screen" }
);

const DrawerStack = createDrawerNavigator(
  {
    MainStack: MainStack
  },
  {
    contentComponent: tempSN, // If I pass here DrawerScreen directly, it works
    navigationOptions: {
      header: null
    }
  }
);

标签: react-nativereact-navigation

解决方案


你可以试试下面的???

const DrawerStack = createDrawerNavigator(
  {
    MainStack: MainStack
  },
  {
    contentComponent: drawerComponent,//Your drawer component.Not stack navigator.
    navigationOptions: {
      header: null
    }
  }
);

const drawerStack = createStackNavigator(
  {
    drawerNav: DrawerStack,// Here is the drawer included.
    screen: DrawerScreen,
    screen2: ProfileSetupScreen
  },
);

在堆栈导航中添加抽屉导航。当您想导航到屏幕“screen2”时,请使用 likethis.props.navigation.navigate("screen2")


推荐阅读