如何在React Native中处理多按钮多次单击

时间:2019-09-24 06:04:31

标签: react-native react-native-android react-native-ios

我在屏幕上有多个按钮,并且所有按钮都是独立的,就像一个按钮用于导航到下一页,另一个按钮用于弹出日历等。当我快速单击所有这些按钮时,所有的点击都会触发,我尝试通过使用布尔状态变量来禁用按钮。但是我仍然可以在设置状态的时间内单击按钮。那么有什么办法可以防止这种情况发生?

预先感谢!

2 个答案:

答案 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)

函数绑定可能存在问题。该功能可能尚未绑定,即使没有轻按也可以调用它们。