我在屏幕上有多个按钮,并且所有按钮都是独立的,就像一个按钮用于导航到下一页,另一个按钮用于弹出日历等。当我快速单击所有这些按钮时,所有的点击都会触发,我尝试通过使用布尔状态变量来禁用按钮。但是我仍然可以在设置状态的时间内单击按钮。那么有什么办法可以防止这种情况发生?
预先感谢!
答案 0 :(得分:0)
您可以使用setState方法轻松实现此行为。但是要小心,因为设置状态是异步的。对于简单的情况,您可以这样做:
constructor(props) {
super(props);
this.state = {
enableButton: false
};
}
然后使用您的按钮或TouchableOpacity这样:
<TouchableOpacity
disabled={this.state.enableButton}
onPress={() => handleMe()}>
<Text>
{text}
</Text>
</TouchableOpacity>
然后启用按钮:
handleMe() {
this.setState({
enableButton: true
});
}
如果您仍然感到困惑,请告诉我。
答案 1 :(得分:0)
函数绑定可能存在问题。该功能可能尚未绑定,即使没有轻按也可以调用它们。