Значок ящика 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: { } 
    })
  }
});
1
0
1 396
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Попробуйте: 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.

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

привет, Стив Носс, он работает, когда скользит, но этот значок ящика и заголовок не отображаются, и вы могли бы мне помочь

Suvasis Samantaray 01.11.2018 08:22

Может быть, потому, что в headerStyle возвращается null? Удалите его и попробуйте еще раз

Steve 01.11.2018 14:56

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

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

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

Другие вопросы по теме