gpt4 book ai didi

react-native - 如何在 React Native 中取消 onPress

转载 作者:行者123 更新时间:2023-12-04 10:57:57 25 4
gpt4 key购买 nike

我的组件中有一个 TouchableHighlight 区域。

我想触发_onPress快速点击的方法,以及 _onLongPress更长时间的水龙头。
这有效,但 _onPress方法总是在我松开水龙头时触发。

如何根据短按或长按仅触发其中一种方法?

class MyClass extends React.Component {
_onPress = () => {
console.log("Press")
}

_onLongPress = () => {
console.log("LongPress")
}

render() {
return (
<TouchableHighlight
style={styles.touchable}
underlayColor="white"
delayPressIn={2000}
onPress={this._onPress}
onPressIn={this._onLongPress}
>
<View style={styles.box}>
<Image style={styles.logo} source={this.state.logo.id} />
</View>
</TouchableHighlight>
)
}
}

非常感谢 :)

最佳答案

根据doc , 你可以同时通过 onPressonLongPress Prop 直接给TouchableHighlight组件,因为它继承了 TouchableWithoutFeedback 提供的所有 Prop .

<TouchableHighlight
onPress={this._onPress}
onLongPress={this._onLongPress}
delayLongPress={2000}
...
>
...
</TouchableHighlight >

将仅触发两个事件之一。
Here你可以试试我在说什么的例子。

关于react-native - 如何在 React Native 中取消 onPress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59053267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com