当前位置: 首页 > 知识库问答 >
问题:

反应原生,侧边菜单未出现

岳锦
2023-03-14

我遵循了本教程https://codeburst.io/custom-drawer-using-react-navigation-80abbab489f7.当我在emulator上运行时,会出现以下错误:

不变冲突:此导航器缺少导航道具。在react navigation 3中,您必须直接设置应用程序容器

然后我更改了这段代码:

export default createDrawerNavigator({
  Home: {
    screen: Home
  },
  Settings: {
    screen: Settings
  },
}, {
  contentComponent: SideMenu,
  drawerWidth: 300
});

const Nav = createDrawerNavigator({
  Home: {
    screen: Home
  },
  Settings: {
    screen: Settings
  },
}, {
  contentComponent: SideMenu,
  drawerWidth: 300
});
const Routes = createAppContainer(Nav);
export default Routes;

然后应用程序开始工作,但当我点击

<Button onPress={() => this.props.navigation.navigate('DrawerOpen')} title="Settings"/>

什么都没发生(也没有错误)。我很困惑

更新如果我使用

<Button onPress={() => this.props.navigation.openDrawer()} title="Settings"/>

我明白了

undefined不是函数(求值' _ this . props . navigation . open drawer()')on press C:\ react \ cash \ src \ home . js:9:8 touchableHandlePress C:\ react \ cash \ node _ modules \ react-native \ Libraries \ Components \ Touchable \ touchablenativefeedback . Android . js:196:11 _ performsideffectsfortransion C:\ react \ cash \ node _ modules \ react-native \ Libraries \ Components \ Touchable . js:316:23

共有1个答案

束俊材
2023-03-14

您遵循的教程可能已经过时,并且可能使用了React navigation的2.x版本。

他们把打开抽屉的方式改为:

this.props.navigation.openDrawer()

在文档的这一部分,你可以找到你想要的。

 类似资料:
  • 本文向大家介绍Android实现原生侧滑菜单的超简单方式,包括了Android实现原生侧滑菜单的超简单方式的使用技巧和注意事项,需要的朋友参考一下 先来看看效果图 当你点击菜单可以更改图标,例如点击happy,首页就会变一个笑脸,这个实现的过程超级简单 你需要使用ToolBar与DrawableLayout两个比较新的控件 首先要写三个xml布局文件,我这里的布局文件是使用了include标签嵌入

  • 我试图设置与React Native在Android上。做了一些研究,看起来我应该使用Interceptor。我找到的一个例子解释了如何做到这一点(链接),但我不确定如何注册拦截器。 因此,为了设置,我使用这个类: 那么剩下的就是注册上面的拦截器,那么它应该在哪里完成呢?可能在? 我在构建应用程序时没有收到任何错误,因此我认为应该很好-只需要让应用程序使用它。 更新:我当前正在尝试在中注册拦截器,

  • 本文向大家介绍jQuery 实现侧边浮动导航菜单效果,包括了jQuery 实现侧边浮动导航菜单效果的使用技巧和注意事项,需要的朋友参考一下 单页面网页内容较多,页面长度较大,需要方便快速的在页面的不同位置进行定位,所以浮动菜单逐渐流行了起来,如下图 男装、女装、美妆等。 这种菜单功能分为两部分: 1、点击菜单项,网页滚动到对应位置,可简单通过锚点实现; 2、滚动页面的时候,菜单项的选中状态要跟着改

  • 我在playstore有一个11K的应用程序。该应用程序是本地Java的。我做了一个react原生应用程序与相同的包名,并更改了jks密钥到密钥存储文件和更改了版本代码。我正在使用的应用程序存储jks文件,我得到这个错误,我知道通过卸载解决,但我不能告诉用户卸载,有没有其他方式执行失败的任务':app:installrelease'。 com.android.builder.testing.api

  • 主要内容:ion-side-menu-content,ion-side-menu,menu-toggle,menu-close,$ionicSideMenuDelegate一个容器元素包含侧边菜单和主要内容。通过把主要内容区域从一边拖动到另一边,来让左侧或右侧的侧栏菜单进行切换。 效果图如下所示: 用法 要使用侧栏菜单,添加一个父元素<ion-side-menus>,一个中间内容 <ion-side-menu-content>,和一个或更多 <ion-side-menu> 指令。 尝试一下 »

  • 一个容器元素包含侧边菜单和主要内容。通过把主要内容区域从一边拖动到另一边,来让左侧或右侧的侧栏菜单进行切换。 效果图如下所示: 用法 要使用侧栏菜单,添加一个父元素<ion-side-menus>,一个中间内容 <ion-side-menu-content>,和一个或更多 <ion-side-menu&gt 指令。 <ion-side-menus> <!-- 中间内容 --> <ion-