React-Native: как отобразить компонент ящика в меню гамбургера - PullRequest
0 голосов
/ 12 июня 2018

Я хочу отобразить компонент ящика в меню гамбургера, а не перетаскивать его слева направо и наоборот. Вот код

Главный экран ...

<CustomHeader title="Home" drawerOpen={() => this.props.navigation.navigate('DrawerOpen')} />

... Пользовательский заголовок

  <Header style={styles.themeBGColor}>
        <Left><Icon name="ios-menu" onPress={() => this.props.drawerOpen()} /></Left>
        <Body>
           <Title>{this.props.title}</Title>
        </Body>
      <Right />
  </Header>

App.js

    const MyApp = DrawerNavigator({
  // For each screen that you can navigate to, create a new entry like this:
  Home: {
    screen: HomeScreen,
  },
  Categories: {
    screen: CategoryScreen,
  },
},
  {
    initialRouteName: 'Home',
    drawerPosition: 'left',
    contentComponent: CustomDrawerContentComponent,
    drawerOpenRoute: 'DrawerOpen',
    drawerCloseRoute: 'DrawerClose',
    drawerToggleRoute: 'DrawerToggle'
  });

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

Если вы используете навигатор ящиков от react-navigation, используйте функцию openDrawer, чтобы открыть ящик навигации.

onPress={() => this.props.navigation.openDrawer()}

, чтобы закрыть ящик навигации, используйте

onPress={() => this.props.navigation.closeDrawer()}
0 голосов
/ 12 июня 2018

Добавьте эту строку

<Icon name="ios-menu" onPress={() => this.props.navigation.navigate('DrawerToggle');}>

и

     const MyApp = DrawerNavigator(
      {

      Home: {
        screen: HomeScreen,
        navigationOptions: ({navigation}) => ({
        drawerLockMode: 'locked-closed',
        drawerPosition: 'right',
    })
      },
      Categories: {
        screen: CategoryScreen,
      },
    },
      {
        initialRouteName: 'Home',
        contentComponent: CustomDrawerContentComponent,
        drawerOpenRoute: 'DrawerOpen',
        drawerCloseRoute: 'DrawerClose',
        drawerToggleRoute: 'DrawerToggle', 

      }); 

ref

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