导航('DrawerOpen')不与 createSwitchNavigator 和 createStackNavigator 一起工作
navigate('DrawerOpen') not working with createSwitchNavigator and createStackNavigator
请检查这个expo snack。
我有一个用于登录和未登录状态的切换导航器。
当用户登录时,切换器加载一个 DrawerNavigator
,它加载 Screen1
并通过 contentComponent
加载边栏 (SideBar.js)
在 Screen1
内部,我通过菜单汉堡按钮的 onPress
事件调用 this.props.navigation.navigate('DrawerOpen');
。但它没有打开抽屉。我在搞什么鬼
您调用的屏幕不包含在 DrawerNavigation
中,因此无法导航。要在任何地方打开抽屉只需使用
import { DrawerActions } from 'react-navigation';
...
openDrawer = () => {
this.props.navigation.dispatch(DrawerActions.openDrawer());
}
...
使用这个:
this.props.navigation.openDrawer();
在React Navigation 3.x
中,您可以使用this.props.navigation.openDrawer();
打开CreateDrawerNavigator
中的抽屉。它与使用 this.props.navigation.dispatch(DrawerActions.openDrawer());
相同。
您可以在此处查看官方文档:https://reactnavigation.org/docs/en/drawer-based-navigation.html
请检查这个expo snack。
我有一个用于登录和未登录状态的切换导航器。
当用户登录时,切换器加载一个 DrawerNavigator
,它加载 Screen1
并通过 contentComponent
在 Screen1
内部,我通过菜单汉堡按钮的 onPress
事件调用 this.props.navigation.navigate('DrawerOpen');
。但它没有打开抽屉。我在搞什么鬼
您调用的屏幕不包含在 DrawerNavigation
中,因此无法导航。要在任何地方打开抽屉只需使用
import { DrawerActions } from 'react-navigation';
...
openDrawer = () => {
this.props.navigation.dispatch(DrawerActions.openDrawer());
}
...
使用这个:
this.props.navigation.openDrawer();
在React Navigation 3.x
中,您可以使用this.props.navigation.openDrawer();
打开CreateDrawerNavigator
中的抽屉。它与使用 this.props.navigation.dispatch(DrawerActions.openDrawer());
相同。
您可以在此处查看官方文档:https://reactnavigation.org/docs/en/drawer-based-navigation.html