我们正在为我们的 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/