我使用React原生新功能,当用户在同一组件上多次触摸时,多次调用onPress
事件以及我的方法。
onPress={() => this.onItemPressed(type)}
我想知道React本地的最佳方式或现有方式是什么,只需一次即可调用此方法,即使用户多次触摸 以及如果用户触摸组件,则打破我的应用并加载一次。
感谢提前
答案 0 :(得分:1)
您可以做的是在组件中添加disabled
状态。如果代码已执行则将其设置为true,如果disabled
为假
示例:
onPress(){
if( this.state.disabled === false ) {
// TODO: Execute your code
this.setState({ disabled: true })
}
}
答案 1 :(得分:1)
您可以禁用按钮本身并等待逻辑完成,然后再启用它或执行下一步操作:
<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})
}
答案 2 :(得分:1)
onPress(){
const { disabled } = this.state;
if(!disabled){
this.setState({ disabled: true })
// Other logic or button functionality
}
}