Значок стека в навигаторе щелкает ящик, но не открывается, а открывается - PullRequest
0 голосов
/ 31 октября 2018

Я хочу, чтобы ящик открывался, когда я нажимал на левую иконку; вот мой код:

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: { } 
    })
  }
});

Ответы [ 2 ]

0 голосов
/ 01 ноября 2018

Значения по умолчанию для открытия, закрытия и переключения ящика:

this.props.navigation.openDrawer();
this.props.navigation.closeDrawer();
this.props.navigation.toggleDrawer();

Вы можете использовать их в опоре кнопки onPress. вот так, <Button onPress={() => { this.props.navigation.openDrawer(); }} />

0 голосов
/ 31 октября 2018

Попробуйте: 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. Обратите внимание, что DrawerNavigator и StackNavigator устарели, вместо них используйте createDrawerNavigator и createStackNavigator.

Надеюсь, мой ответ поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...