У меня есть верхняя панель с кнопкой, которая переключает боковое меню.
Я зарегистрировал действие navigationButtonPressed, как показано ниже.
navigationButtonPressed({ buttonId }) {
switch (buttonId) {
case 'sideMenuButtonId':
Navigation.mergeOptions(this.props.componentId, {
sideMenu: {
left: {
visible: true
}
}
});
break
default:
break
}
}
Но в этом случае кнопка делает видимым только sideMenu, и я пытаюсь использовать ее, чтобы она открывала и закрывала меню. Поэтому я заменил приведенное выше переменным подходом, показанным ниже.
var sideMenuVisible = false
navigationButtonPressed({ buttonId }) {
switch (buttonId) {
case 'sideMenuButtonId':
sideMenuVisible = !sideMenuVisible
Navigation.mergeOptions(this.props.componentId, {
sideMenu: {
left: {
visible: sideMenuVisible
}
}
});
break
default:
break
}
}
Что отлично работает, если пользователь использует кнопку только для открытия и закрытия sideMenu, но пользователь также может открывать/закрывать меню, проводя пальцем, чтобы открыть меню, а также касаясь меню, чтобы закрыть его.
Есть ли способ проверить видимость sideMenu
, чтобы я мог правильно использовать действие для открытия/закрытия меню по команде?