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.