Why use @use-gesture
👆 @use-gesture is a library that focuses on making complex gestures such as drag and pinch easy to configure.
In most situations, onDrag
becomes as easy to set up as onMouseMove
. However, you remain in control of the full gesture logic, which allows you to make your components behave exactly the way you want.
Augmenting events
A secondary aspect of 👆 @use-gesture is to upgrade gestures with additional kinematics attributes, such as velocity, distance, delta and more, that don't come with native browser events.
👆 @use-gesture also debounces scroll
, wheel
and move
events, which gives you the capacity to trigger logic
when the gesture starts or ends out of the box.
Going further
Alexandra Holachek (site, twitter) gave a great talk at React Conf about Progressive Web Animations, where she explains the principles of her approach on creating native-like UI. Her demos use React-spring and 👆 @use-gesture/react. Alex's talk strongly influenced some of the features in 👆 @use-gesture.
Where to get help
You can either report an issue or have a chat on our Discord.