useTouchSwipe
Hook to detect touch swipe gestures on a specified element.
Usage
Live Editor
function App() { const elementRef = useRef(null); const { swipeState, reset } = useTouchSwipe(elementRef); return ( <> <div ref={elementRef} style={{ backgroundColor: "red", height: "300px", color: "white" }} > <p>Swipe direction: {swipeState.direction ?? "Please swipe"}</p> </div> <button onClick={reset}>Reset</button> </> ); }
Result
Loading...
API
Parameter : elementRef : React.RefObject<HTMLElement | null> - The reference to the element to detect touch swipe gestures on.
Returns : An object with the following properties:
swipeState:SwipeState- The swipe state object.SwipeState:{ direction: SwipeDirection, x: number, y: number }-- The direction of the swipe and the x and y coordinates of the swipe event.
SwipeDirection:'up' | 'down' | 'left' | 'right'- The direction of the swipe.x:number- The x coordinate of the swipe event.y:number- The y coordinate of the swipe event.
- The direction of the swipe and the x and y coordinates of the swipe event.
reset:() => void- Resets the swipe state.