当按下另一种可触摸的不透明度时,不会按下一个可触摸的不透明度

时间:2020-04-03 09:40:50

标签: javascript react-native touchableopacity onpress

我在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>

3 个答案:

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