本文解释了如何在使用React的Android中处理触摸事件
以下是如何在使用React的Android中处理触摸事件。
React将使用以下方式捕获Android触摸事件:onTouchStart;onTouchMove;onTouchEnd
下面是如何在React网页应用中处理Android触摸事件的示例
import React from 'react';
export default class EventComponent extends React.Component {
constructor(props) {
super(props);
this._onTouchStart = this._onTouchStart.bind(this);
this._onTouchMove = this._onTouchMove.bind(this);
this._onTouchEnd = this._onTouchEnd.bind(this);
this.state = { swiped: false };
this._swipe = {};
this.minDistance = 50;
}
_onTouchStart(e) {
const touch = e.touches[0];
this._swipe = { x: touch.clientX };
this.setState({ swiped: false });
}
_onTouchMove(e) {
if (e.changedTouches && e.changedTouches.length) {
const touch = e.changedTouches[0];
this._swipe.swiping = true;
}
}
_onTouchEnd(e) {
const touch = e.changedTouches[0];
const absX = Math.abs(touch.clientX - this._swipe.x);
if (this._swipe.swiping && absX this.minDistance ) {
this.props.onSwiped && this.props.onSwiped();
this.setState({ swiped: true });
}
this._swipe = {};
}
render() {
return (
{`Component-${this.state.swiped ? 'swiped' : ''}`}
); } }
Please report any broken links by emailing support@elotouch.com and include a link to the knowledge article