javascript - 导航关闭抽屉不工作 react 导航

标签 javascript react-native navigation-drawer react-navigation-drawer

我们正在为我们的 React Native 应用程序使用 React Navigation 并显示侧边栏。 一切正常,但是,关闭抽屉不工作。

实际上,当用户点击 Android 设备后退按钮时,我必须关闭 Drawer。

所以,我在后退按钮处理程序方法中调用 navigation.closeDrawer();

backButtonTap = () => {
    const { navigation } = this.props;
    navigation.closeDrawer();
    DeviceEventEmitter.emit('NavigatedToNewRoute', {
      route: 'screen1'
    });
    navigation.navigate('screen1');
  }

但是,虽然我们试图通过设备后退按钮关闭侧抽屉,但没有关闭。 OpenDrawer 方法工作正常。

我的侧边栏中有多个屏幕。那么,在每个类中我需要调用这个 closeDrawer 方法还是我们可以调用它的任何一个全局类? 如果抽屉打开,我只需要关闭,如果用户点击设备后退按钮,我必须关闭这个抽屉。

有什么建议吗?

最佳答案

您可以尝试以下操作吗?

import { DrawerActions } from "react-navigation";
...
backButtonTap = () => {
    const { navigation } = this.props;
    //navigation.closeDrawer();
    this.props.navigation.dispatch(DrawerActions.closeDrawer());
    DeviceEventEmitter.emit('NavigatedToNewRoute', {
      route: 'screen1'
    });
    navigation.navigate('screen1');
  }

关于javascript - 导航关闭抽屉不工作 react 导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55586268/

相关文章:

javascript - 嵌套映射函数

react-native - react native : use a variable string in the state like this : this. state.variableString

react-native - 屏幕位于底部 Material 选项卡栏后面

java - ExpandableListView 对于列表中的最后一项表现异常

javascript - 获取多个多文件输入字段的文件计数

javascript - 如何在构建时自动更改脚本标签 url

ios - diff :/Podfile. 锁:没有这样的文件或目录 - React Native - Xcode

android - 抽屉导航和 Android 中的 Activity

android - 为什么 Android 抽屉导航卡住了? (在官方演示应用程序中重新创建)

javascript - 将点击事件 'this' 传递给另一个函数,这是正确的做法吗?