使用 onPress 响应本机调用函数一次



我是 React 原生的新手,当用户多次触摸同一组件时,onPress事件被多次调用,也是我的方法。

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

我想知道什么是最好的方法或 React 本机上的一种很好的现有方法,即使用户多次触摸也不会破坏我的应用程序,并且如果用户在组件中触摸,也只加载一次。

提前感谢

您可以禁用按钮本身并等待逻辑完成,然后再启用它或执行下一步的任何操作:

<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})
}

您可以做的是向组件添加disabled状态。如果执行代码,则将其设置为 true,并在每次按下时检查disabled是否为 false

例:

onPress(){
if( this.state.disabled === false ) {
// TODO: Execute your code
this.setState({ disabled: true })
}    
}
onPress(){
const { disabled } = this.state;
if(!disabled){
this.setState({ disabled: true })
// Other logic or button functionality
}    
}

最新更新