我在React native中编写了一个程序,其中有两个按钮,按下这些按钮会增加一个点击计数器。 问题是当一个按钮被按下时,另一个按钮将不响应并且不会增加计数器。该按钮采用Touchableopacity,操作由onPress完成。
<View style = {{flex:1,flexDirection:'row',justifyContent:'center'}}>
<View>
<TouchableOpacity style = {styles.button}
onPress = {() => this.start() }
>
<Text style={styles.buttonText}>
Tap
</Text>
</TouchableOpacity>
</View>
<View>
<TouchableOpacity style = {styles.button}
onPress = {() => this.start() }>
<Text style={styles.buttonText}>
Tap
</Text>
</TouchableOpacity>
</View>
</View>
</View>
答案 0 :(得分:0)
我通过使用onTouchStart而不是andOnPress解决了问题
答案 1 :(得分:0)
尝试使用onTouchStart
代替onPress
。
所以改变:
<TouchableOpacity style={styles.button} onPress={() => this.start()}>
收件人:
<TouchableOpacity style={styles.button} onTouchStart={() => this.start()}>
之所以要这样做,是因为当一个按钮仍然被按下时,对另一个按钮的onPress
操作将不会触发,直到您停止按原始按钮为止。
答案 2 :(得分:0)
我不知道以前的海报使用的是什么版本的React Native,但“ onTouchStart”仅在View组件上可用,而在Touchable Opacity上不可用。
在视图中包装我的可触摸对象非常模仿onPress行为
<View onTouchStart={myEventHandler}>
<TouchableOpacity>
<Text>My Touchable Button</Text>
</TouchableOpacity>
</View>