Реагировать на родной onPressIn

0

Поэтому я сейчас пишу приложение React Native и столкнулся с небольшой проблемой. Когда я нажимаю и удерживаю кнопку, я хочу многократно запускать функцию, пока не будет нажата кнопка. Вот функция:

onButtonPressIn() {
  this.setState({pressStatus: true})
  recording = true

    let myCallBack = () => {
    setTimeout(this.executeFunction.bind(this), 50)
  }
  if (recording === true) {
    myCallBack()
  }
}

Я знаю, что оператор if выполняет код только один раз, но каждый другой метод, который я пытался, не работал вообще, а цикл while вместо оператора if не позволял ничего запускать. Также стоит отметить, что когда моя кнопка отпускается, запись устанавливается равной false (она объявляется как глобальная переменная в начале кода

Теги:
react-native
callback
function

1 ответ

0
Лучший ответ

Не видя всего вашего компонента, я предполагаю, что это должно помочь вам начать работу:

let recording = false
let ivRecording
...
onButtonPressIn() {
  this.setState({pressStatus: true})
  recording = true
  ivRecording = setInterval(() => this.executeFunction(), 50)
}
...
onButtonPressRelease() {
  this.setState({pressStatus: false})
  recording = false
  clearInterval(ivRecording)
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню