直接在已经长按的按钮下创建时按下按钮

Button getting pressed when is created directly under an already long pressed button

我有一个标记为 BOOM 的按钮(TouchableHighlight)和另一个标记为 thinking 的按钮。最初,会显示 boom 按钮,长按它应该被 thinking 按钮取代。而当思考按钮被按下时,它应该再次被动臂按钮取代。我有以下代码:

{
this.state.thinking ?
    <TouchableHighlight onPress={this.thinkingOff} activeOpacity={0.9} underlayColor="#734F96" style={{borderRadius: 100}}>
        <View style={{...styles.sendButton, backgroundColor: '#e2b705'}}>
            <Text style={{fontSize: 9, color: 'white'}}>thinking</Text>
        </View>
    </TouchableHighlight>
:
    <TouchableHighlight onPress={this.send} onLongPress={this.thinkingOn} delayLongPress={300} activeOpacity={0.9} underlayColor="#e2b705" style={{borderRadius: 100}}>
        <View style={styles.sendButton}>
            <Text style={styles.buttonText}>BOOM</Text>
        </View>
    </TouchableHighlight>
}

方法 thinkingOnthinkingOff 只是切换状态 thinking.

问题是,当思考按钮出现时,我松开手指(按住动臂按钮后),属于思考的onPress被触发

您可以尝试 onPressOutonPressIn