有没有办法让#34; onPress"和" onLongPress"在同一"按钮/ TouchableOpacity"

时间:2018-05-16 15:05:28

标签: javascript reactjs react-native native

我想知道是否有办法让onPress和onLongPress使用相同的按钮/ TouchableOpacity,在反应原生的javascript中, 如果是这样,我该怎么做?

2 个答案:

答案 0 :(得分:3)

是的,根据docs,您可以添加onPressonLongPress道具。

为了记录,TouchableOpacity继承了TouchableWithoutFeedback上可用的所有道具。

<TouchableOpacity
  onPress={() => { console.log("onPress") }}
  onLongPress={() => { console.log("onLongPress") }}
>
   ...
</TouchableOpacity>

答案 1 :(得分:0)

我将以下代码与“ react”:“ 16.6.3”和“ react-native”:“ 0.58.5”一起使用

handlerLongClick = () => {
    //handler for Long Click
    Alert.alert(' Button Long Pressed');
};
handlerClick = () => {
    //handler for Long Click
    Alert.alert(' Button Long Pressed');
 };
<TouchableOpacity
    onLongPress={this.handlerLongClick}
    onPress={this.handlerClick}
    activeOpacity={0.6}
    style={styles.button}>
        <Text style={styles.TextStyle}> LONG PRESS THE BUTTON </Text>
</TouchableOpacity>