请检查此expo snack。
我有一个用于登录和未登录状态的开关导航器。
用户登录后,切换程序将加载DrawerNavigator
,该Screen1
会通过contentComponent
加载侧边栏(SideBar.js)
在Screen1
内部,我通过菜单burger按钮的this.props.navigation.navigate('DrawerOpen');
事件呼叫onPress
。但这不是打开抽屉。我在干什么
答案 0 :(得分:14)
您在DrawerNavigation
中未包含的屏幕中调用,因此无法导航。要在任何地方打开抽屉,只需使用
import { DrawerActions } from 'react-navigation';
...
openDrawer = () => {
this.props.navigation.dispatch(DrawerActions.openDrawer());
}
...
答案 1 :(得分:2)
使用此:
this.props.navigation.openDrawer();
答案 2 :(得分:0)
在React Navigation 3.x
中,您可以使用this.props.navigation.openDrawer();
打开CreateDrawerNavigator
中的抽屉。与使用this.props.navigation.dispatch(DrawerActions.openDrawer());
相同。
您可以在此处查看官方文档:https://reactnavigation.org/docs/en/drawer-based-navigation.html