Реагировать на функцию родного вызова один раз, используя onPress - PullRequest
0 голосов
/ 17 мая 2018

Я новичок в React native, и когда пользователь несколько раз касается одного и того же компонента, событие onPress вызывается несколько раз, а также мой метод.

onPress={() => this.onItemPressed(type)}

Я хочу знать, чтоэто лучший или один хороший из существующих способов в React native вызывать этот метод просто один раз , даже если пользователь коснется несколько раз , чтобы не сломать мое приложение и загрузить только один разесли пользователь Нажмите в компоненте.

Заранее спасибо

Ответы [ 3 ]

0 голосов
/ 18 мая 2018

Вы можете отключить саму кнопку и подождать, пока закончится логика, прежде чем активировать ее или выполнить любое другое действие:

<Button
  onPress={() => this.onItemPressed(type)}
  disabled={this.state.itemPressedDisabled}>

onItemPressed(type) {
  this.setState({itemPressedDisabled: true})

  // ...code logic here

  // Use below if you want to enable the button again after you're done
  // this.setState({itemPressedDisabled: false})
}
0 голосов
/ 18 мая 2018
onPress(){
    const { disabled } = this.state;
    if(!disabled){
        this.setState({ disabled: true })
        // Other logic or button functionality
    }    
}
0 голосов
/ 17 мая 2018

Что вы можете сделать, это добавить состояние disabled к вашему компоненту.Установите значение true, если код выполняется, и каждый раз при нажатии проверяйте, является ли disabled ложным

Пример:

onPress(){
    if( this.state.disabled === false ) {
        // TODO: Execute your code
        this.setState({ disabled: true })
    }    
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...