Package Exports
- react-use-gesture
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (react-use-gesture) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
react-use-gesture
React-use-gesture is a hook that lets you bind richer mouse and touch events to any component or view. With the data you receive, it becomes trivial to set up gestures, and often takes no more than a few lines of code.
You can use it stand-alone, but to make the most of it you should combine it with an animation library like react-spring, though you can most certainly use any other.
The demos are real click them!
Installation
#Yarn
yarn add react-use-gesture
#NPM
npm install react-use-gesture
Full documentation website
Simple example
import { useSpring, animated } from 'react-spring'
import { useDrag } from 'react-use-gesture'
function PullRelease() {
const [{ x, y }, set] = useSpring(() => ({ x: 0, y: 0 }))
// Set the drag hook and define component movement based on gesture data
const bind = useDrag(({ down, movement: [mx, my] }) => {
set({ x: down ? mx : 0, y: down ? my : 0 })
})
// Bind it to a component
return <animated.div {...bind()} style={{ x, y }} />
The example above makes a div
draggable so that it follows your mouse on drag, and returns to its initial position on release.
Available hooks
React-use-gesture exports several hooks that can handle different gestures:
Hook | Description |
---|---|
useDrag |
Handles the drag gesture |
useMove |
Handles mouse move events |
useHover |
Handles mouse enter and mouse leave events |
useScroll |
Handles scroll events |
useWheel |
Handles wheel events |
usePinch |
Handles the pinch gesture |
useGesture |
Handles multiple gestures in one hook |