我是 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
}
}