首页 > 解决方案 > 如何在抽屉导航器中定义的屏幕中打开抽屉导航器

问题描述

是否可以从我不希望它出现在我的抽屉导航器中的屏幕上打开抽屉导航器

const AppDrawerNavigator = createDrawerNavigator({
  Home:{
    screen:MainStackNavigator,//stack with tab
  },
  Pdf:{
    screen:AnotherScreen
  }
},
{
  drawerPosition: 'left',
  drawerWidth:Dimensions.get('window').width-50,

})

这是我的堆栈导航器

const AppStackNavigator = createStackNavigator({
  Main:{screen:AppDrawerNavigator,navigationOptions: {
    header: null,
  }},
  Login:{screen:LoginScreen},

  Map:{screen:MapScreen,navigationOptions:({navigation})=>({
    headerLeft:null,
    headerTransparent:true,
    headerRight:
        <TouchableOpacity
         onPress={()=>navigation.toggleDrawer()}>
           <IconMenu name='menu' size={25} style={{marginRight:20}} />
         </TouchableOpacity>})},
})

我希望 MapScreen 打开我上面定义的抽屉(它不工作,它说导航未定义。toggleDrawer() 不是一个功能,当我点击我的 IconMenu 时)

谢谢你

标签: androidreact-nativereact-navigation

解决方案


使用它来打开或关闭抽屉

this.props.navigation.dispatch(DrawerActions.toggleDrawer());

在您的代码中,您可以使用

navigation.dispatch(DrawerActions.toggleDrawer());

推荐阅读