Javascript 导航关闭抽屉不工作反应导航
我们正在为React本机应用程序使用React导航,并显示侧栏。 一切正常,但,关闭抽屉不工作 实际上,当用户点击安卓设备的后退按钮时,我必须关闭抽屉 因此,我正在调用Javascript 导航关闭抽屉不工作反应导航,javascript,react-native,navigation-drawer,react-navigation-drawer,Javascript,React Native,Navigation Drawer,React Navigation Drawer,我们正在为React本机应用程序使用React导航,并显示侧栏。 一切正常,但,关闭抽屉不工作 实际上,当用户点击安卓设备的后退按钮时,我必须关闭抽屉 因此,我正在调用navigation.closeDrawer() backButtonTap = () => { const { navigation } = this.props; navigation.closeDrawer(); DeviceEventEmitter.emit('NavigatedToNewRo
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');
}
我认为react导航具有关闭抽屉的默认功能。
如果它不起作用,那么也试试这个
在功能中传递导航道具,以便它可以轻松处理此问题
this.props.navigationProps.toggleDrawer();
问题是我们正在调用BackHandler.addEventListener('hardwareBackPress',this.backPressHandler);在componentDidMount方法中,在componentDidMount中删除它将卸载,但是,如果我们导航到其他屏幕并返回到同一屏幕,则该方法不会触发。那么,我们在哪里可以编写addlistener而不是componentDidmount呢?