この記事では、React Webアプリを使用してAndroidでタッチイベントを処理する方法を説明します
以下に、Reactを使用してAndroidでタッチイベントを処理する方法を示します。
Reactは、以下のタッチイベントをキャプチャします: onTouchStart; onTouchMove; onTouchEnd
以下に、React Webアプリ内で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