Двойной щелчок реагирует на родной

У меня проблема, когда пользовательский спам нажимает/нажимает на кнопку/TouchableOpacity в React Native.

Пример: нажмите, чтобы перейти на другой экран

Как я могу это исправить?

Function

onItemPress(title) {
    this.props.navigation.navigate(title.toLowerCase(), { title });
}

Рендеринг

<TouchableOpacity
    onPress={() => this.onItemPress("QuickMenu")}
/>


person monkey luffy    schedule 28.06.2017    source источник
comment
Используйте переменную состояния для управления выполнением функции onPress. Кроме того, пожалуйста, разместите свой соответствующий код и попытки решить вашу проблему. Вы можете посмотреть Как спросить и предоставить MVCE   -  person G0dsquad    schedule 28.06.2017
comment
Извините, я собираюсь обновить свой код для этого.   -  person monkey luffy    schedule 28.06.2017
comment
Использовать переменную состояния для обработки?? Но когда я перехожу к другому экрану, это состояние не подходит для нового компонента экрана.   -  person monkey luffy    schedule 28.06.2017


Ответы (1)


Я думаю, что это вариант Компонент

<TouchableHighlight ref = {component => this._touchable = component}
                    onPress={() => this.yourMethod()}/>

Метод

yourMethod() {
    var touchable = this._touchable;
    touchable.disabled = {true};

    //what you actually want your TouchableHighlight to do
}
person Leo    schedule 28.07.2017
comment
Я пробовал, но это не работает. Спасибо за ваше предложение. Но у меня есть вопрос, если мы отключили кнопку нажатия для нашей функции, как мы обработаем эту кнопку при следующем нажатии (не для мусора)? - person monkey luffy; 02.08.2017
comment
@monkeyluffy Я знаю, что это старо, но в итоге я использовал отключенную опору в TouchableOpacity. Когда функция вызывается, я устанавливаюState, чтобы отключить компонент. Затем в конце функции я использую тайм-аут для повторного включения компонента. Это позволяет мне предотвратить двойное касание - person Richard McCluskey; 03.05.2018