Как перейти от одного пункта меню к другому экрану

Я использую «реагировать на родное всплывающее меню»

<MenuOptions customStyles={{ optionText: styles.text }}>
   <MenuOption value="History" text='History' 
                   onPress={()=>{this.props.navigation.navigate('History')}} />
    <MenuOption value="Logout" text='Logout'  onPress={()=>{this.props.navigation.navigate('Login')}}/>
 </MenuOptions>

Я хочу перейти, когда я нажимаю на любой из пунктов меню, на другой экран, как я могу это сделать?


person Nishar sheik    schedule 24.09.2018    source источник
comment
Вы можете передать компонент входа в систему, а не строку входа в функцию навигации?   -  person mad.meesh    schedule 24.09.2018


Ответы (1)


Глядя на документы из библиотеки, MenuOption использует реквизит onSelect, а не onPress.

Из их примера:

<MenuOptions>
        <MenuOption **onSelect**={() => alert(`Save`)} text='Save' />
        <MenuOption **onSelect**={() => alert(`Delete`)} >
          <Text style={{color: 'red'}}>Delete</Text>
        </MenuOption>
        <MenuOption onSelect={() => alert(`Not called`)} disabled={true} text='Disabled' />
      </MenuOptions>

Изменение вашего onPress на onSelect должно начать работать в соответствии с вашими требованиями.

person Umair Ahmed    schedule 24.09.2018
comment
Можем ли мы добавить оповещение и навигацию для одного пункта меню? т. е., например, если я задаю параметры меню как «Выход», он должен выдать мне предупреждение о том, что я собираюсь выйти из системы с параметрами «Да» или «Нет», если нажать «Да», он должен перенаправить меня на страницу входа в систему, если нет, он должен оставаться только на текущей странице. Подобно «Предупреждению» в React Native. - person Nishar sheik; 24.09.2018
comment
Да, если вы используете Alert.alert из React Native, вы можете использовать приведенный выше код, а затем добавить действия onPress, чтобы сделать это за вас. - person Umair Ahmed; 24.09.2018
comment
идеально! спасибо! - person mick1996; 14.01.2021