首页 > 解决方案 > Stack Navigator 抽屉图标单击抽屉未打开但滑动打开时

问题描述

我希望在单击左侧图标时打开抽屉;这是我的代码:

const stackNav = StackNavigator({
  Main : {
    screen: MainScreen,
    navigationOptions: ({navigation}) => ({
      title: "Easy Billing",
      headerLeft: (
        <TouchableOpacity onPress={() => navigation.navigate("DrawerOpen")}>
          <IOSIcon name="ios-menu" size={30} onPress={() => navigation.navigate("DrawerOpen")} />
        </TouchableOpacity>
      ),
      headerStyle: { } 
    })
  }
});

标签: javascriptreact-nativereact-navigation

解决方案


尝试:

import { DrawerActions, createDrawerNavigator } from 'react-navigation';

接着:

const stackNav = createDrawerNavigator({
  Main : {
    screen: MainScreen,
    navigationOptions: ({navigation}) => ({
      title: "Easy Billing",
      headerLeft: (
        <TouchableOpacity onPress={() => { navigation.dispatch(DrawerActions.openDrawer()); }}>
          <IOSIcon name="ios-menu" size={30} onPress={() => { navigation.dispatch(DrawerActions.openDrawer()); }} />
        </TouchableOpacity>
      ),
      headerStyle: { } 
    })
  }
});

使用 stackNavigator 时无法显示抽屉;这就是我使用 createDawerNavigator 变量的原因。注意 theDrawerNavigator和 theStackNavigator已被弃用,使用createDrawerNavigatorandcreateStackNavigator代替。


推荐阅读