[英]detect swipe left/right in React
I´m trying to detect swipe left-right but I´m having a problem for example if a user makes a swipe up or down and a little bit to one of the sides it detects it as a swipe left (for example) 我试图检测左右滑动,但我遇到了问题,例如,如果用户向上或向下滑动,并且稍微向一侧检测到它是向左滑动(例如)
constructor(props) {
super(props)
this.state = {
initialClientX: 0,
finalClientX: 0,
}
}
handleTouchStart(event) {
this.setState({
initialClientX: event.nativeEvent.touches[0].clientX
});
}
handleTouchMove(event) {
this.setState({
finalClientX: event.nativeEvent.touches[0].clientX
});
}
handleTouchEnd() {
if (this.state.finalClientX < this.state.initialClientX) {
console.log('swipe left')
}
this.setState({
initialClientX: 0,
finalClientX: 0
});
}
how can I make this not too sensitive? 我怎么能让这个不太敏感? should I also keep track of clientY?
我应该跟踪客户Y吗?
I ended up checking also for clientY as well a threshold 我最后也检查了clientY以及一个阈值
if ((this.state.finalClientX > this.state.initialClientX)
&& (this.state.finalClientY - this.state.initialClientY < 10)) {
console.log('swipe left')
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.