当用户在同一个组件上多次触摸时,onPress事件会被多次调用,这也是我的方法。
onPress={() => this.onItemPressed(type)}我想知道什么是最好的方式,还是一种现有的好方式,在本机上只调用一次这个方法,即使用户多次触摸我的应用程序,如果用户在组件中触碰,只加载一次。
先谢
发布于 2018-05-17 21:07:02
您可以禁用按钮本身并等待逻辑完成,然后启用它或执行下一步的任何操作:
<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})
}发布于 2018-05-17 19:23:27
您可以做的是向组件添加一个disabled状态。如果代码被执行,则将其设置为true,并在每次按下时检查disabled是否为false。
示例:
onPress(){
if( this.state.disabled === false ) {
// TODO: Execute your code
this.setState({ disabled: true })
}
}发布于 2018-05-18 05:58:23
onPress(){
const { disabled } = this.state;
if(!disabled){
this.setState({ disabled: true })
// Other logic or button functionality
}
}https://stackoverflow.com/questions/50398972
复制相似问题