9.1.3 • Published 3 years ago

react-use-gesture v9.1.3

Weekly downloads
92,893
License
MIT
Repository
github
Last release
3 years ago

React UseGesture

npm (tag) npm bundle size NPM Travis (.org) branch Discord Shield

React UseGesture 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.

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, touchAction: 'none' }} />

The example above makes a div draggable so that it follows your mouse on drag, and returns to its initial position on release.

Make sure you always set touchAction on a draggable element to prevent glitches with the browser native scrolling on touch devices.

Available hooks

React-use-gesture exports several hooks that can handle different gestures:

HookDescription
useDragHandles the drag gesture
useMoveHandles mouse move events
useHoverHandles mouse enter and mouse leave events
useScrollHandles scroll events
useWheelHandles wheel events
usePinchHandles the pinch gesture
useGestureHandles multiple gestures in one hook

More on the full documentation website...

@nattlivet/react-pullyatlasgroup-react-atlanticr3f-sdk-test@vdjurdjevic/react-toolkitzds-react-desktopzds-react-desktop3zds-react-desktop4zds-react-desktop5cf-storybookgatsby-theme-evelangatsby-theme-sanity-evelan@zebra-fed/zds-react-miniuse-amazon@nicklabs/uikit@enlighthq/modalsaudio-tour-hamada@nicklabs/uikit-reactreact-drawing-board-customreact-drawing-customreact-drawing-customize@alpin11/cookie-monstern1k1tk-react-spring-bottom-sheet@maker-ui/componentsxiaowei-ui11drawing-canvas-custompuil3.0maccha.managerprova-react-three-fibertreatment-viwersid-npm-test3sid-npmtest-1sid-npmtest-2sid-test-create-npm@lxjx/blink-ui@lxjx/flicker@gelatonetwork/stop-limit-orders-reactreact-bim@puneet_epigraph/epigraph_configurator_uianm.pa.search.widget@kkit/react-dataloader@academysports/ui-component-library@everything-registry/sub-chunk-2621universal-components-library-v3universal-components-library@alpin11/cookie-deviljas-react-spring-bottom-sheetitauros-uiguiw5-bottom-sheethandwrite-custom-1handwrite-custom-ver1.1handwrite-custom-ver2kosmos-uireact-sortful-nestedoscod-slidermui-bottom-sheetnext-landingombram78mhydmy-crazy-react-test-thingmollectorgame-sdkqubic-libqubicqubic-vissynalgic-componentsstonelightui-react-csv-uploaderubeswap-headerubeswap-swap-devunitx-uireact-liquidswipereact-animated-bottomsheetreact-chromeless-galleryreact-overflowedreact-player-controlsreact-planetreact-planet-r18solidoc-base-component-libsoulswap-limit-orders-reactsoulswap-stop-limit-orders-reactshed-builderserver-os-uikitroundystf-screensharerecycling-react-carouselretool-react-spring-bottom-sheetreact-horizontalreact-home-harmonyreact-c4react-atlanticreact-bottom-sheet-webreact-csv-importer-v2react-drawing-boardreact-drawing-board-ver1react-card-memoryreact-the1-lightboxreact-simple-pickerreact-slider-measurereact-spring-lightboxreact-spring-pan-zoom
9.1.3

3 years ago

9.1.2

3 years ago

9.1.1

3 years ago

9.1.0

3 years ago

9.1.0-alpha.1

3 years ago

9.0.4

3 years ago

9.0.3

3 years ago

9.0.2

3 years ago

9.0.1

3 years ago

9.0.0

3 years ago

9.0.0-beta.14

3 years ago

9.0.0-beta.13

3 years ago

9.0.0-beta.12

3 years ago

9.0.0-beta.11

3 years ago

9.0.0-beta.10

3 years ago

8.1.0-beta.9

3 years ago

8.1.0-beta.8

3 years ago

8.1.0-beta.7

3 years ago

8.1.0-beta.6

3 years ago

8.1.0-beta.5

3 years ago

8.1.0-beta.4

3 years ago

8.1.0-beta.3

3 years ago

8.1.0-alpha.12

3 years ago

8.1.0-beta.2

3 years ago

8.1.0-beta.1

3 years ago

8.1.0-alpha.11

3 years ago

8.1.0-alpha.10

3 years ago

8.1.0-alpha.9

3 years ago

8.1.0-alpha.8

3 years ago

8.1.0-alpha.7

3 years ago

8.1.0-alpha.6

3 years ago

8.1.0-alpha.5

3 years ago

8.1.0-alpha.4

3 years ago

8.1.0-alpha.3

3 years ago

8.1.0-alpha.2

3 years ago

8.1.0-alpha.1

3 years ago

8.0.1

3 years ago

8.0.0

3 years ago

8.0.0-beta.3

4 years ago

8.0.0-beta.2

4 years ago

8.0.0-beta.1

4 years ago

8.0.0-alpha.10

4 years ago

8.0.0-alpha.9

4 years ago

8.0.0-alpha.8

4 years ago

8.0.0-alpha.7

4 years ago

8.0.0-alpha.6

4 years ago

8.0.0-alpha.5

4 years ago

8.0.0-alpha.4

4 years ago

8.0.0-alpha.3

4 years ago

7.0.16

4 years ago

8.0.0-alpha.2

4 years ago

8.0.0-alpha.1

4 years ago

7.0.15

4 years ago

7.0.14

4 years ago

7.0.13

4 years ago

7.0.12

4 years ago

7.0.11

4 years ago

7.0.10

4 years ago

7.0.9

4 years ago

7.0.8

4 years ago

7.0.7

4 years ago

7.0.6

4 years ago

7.0.5

4 years ago

7.0.4

4 years ago

7.0.3

4 years ago

7.0.2

4 years ago

7.0.1

4 years ago

7.0.0

4 years ago

7.0.0-beta.11

4 years ago

7.0.0-beta.10

4 years ago

7.0.0-beta.7

4 years ago

7.0.0-beta.8

4 years ago

7.0.0-beta.9

4 years ago

7.0.0-beta.6

4 years ago

7.0.0-beta.5

4 years ago

7.0.0-beta.4

4 years ago

7.0.0-beta.3

4 years ago

7.0.0-beta.2

4 years ago

7.0.0-beta.1

4 years ago

7.0.0-alpha.37

4 years ago

7.0.0-alpha.36

4 years ago

7.0.0-alpha.35

4 years ago

7.0.0-alpha.34

4 years ago

7.0.0-alpha.33

4 years ago

7.0.0-alpha.32

4 years ago

7.0.0-alpha.31

4 years ago

7.0.0-alpha.30

4 years ago

7.0.0-alpha.29

4 years ago

7.0.0-alpha.28

4 years ago

7.0.0-alpha.27

4 years ago

7.0.0-alpha.26

4 years ago

7.0.0-alpha.25

4 years ago

7.0.0-alpha.24

4 years ago

7.0.0-alpha.23

4 years ago

7.0.0-alpha.22

4 years ago

7.0.0-alpha.21

4 years ago

7.0.0-alpha.20

4 years ago

7.0.0-alpha.19

4 years ago

7.0.0-alpha.18

4 years ago

7.0.0-alpha.17

4 years ago

7.0.0-alpha.16

4 years ago

7.0.0-alpha.15

4 years ago

7.0.0-alpha.14

4 years ago

7.0.0-alpha.13

4 years ago

7.0.0-alpha.12

4 years ago

7.0.0-alpha.11

4 years ago

7.0.0-alpha.10

4 years ago

7.0.0-alpha.9

4 years ago

7.0.0-alpha.8

4 years ago

7.0.0-alpha.7

4 years ago

7.0.0-alpha.6

4 years ago

7.0.0-alpha.5

4 years ago

7.0.0-alpha.4

4 years ago

7.0.0-alpha.3

4 years ago

7.0.0-alpha.2

4 years ago

7.0.0-alpha.1

4 years ago

6.0.14

5 years ago

6.0.13

5 years ago

6.0.12

5 years ago

6.0.11

5 years ago

6.0.10

5 years ago

6.0.9

5 years ago

6.0.8

5 years ago

6.0.7

5 years ago

6.0.6

5 years ago

6.0.5

5 years ago

6.0.4

5 years ago

6.0.3

5 years ago

6.0.2

5 years ago

6.0.2-beta.2

5 years ago

6.0.2-beta.1

5 years ago

6.0.1

5 years ago

6.0.0

5 years ago

6.0.0-alpha.6

5 years ago

6.0.0-alpha.5

5 years ago

6.0.0-beta.4

5 years ago

6.0.0-beta.3

5 years ago

6.0.0-beta.2

5 years ago

6.0.0-beta.1

5 years ago

5.2.4

5 years ago

5.2.3

5 years ago

5.2.2

5 years ago

5.2.1

5 years ago

5.2.0

5 years ago

5.1.3

5 years ago

5.1.3-beta.2

5 years ago

5.1.3-beta.1

5 years ago

5.2.0-beta.1

5 years ago

5.1.2

5 years ago

5.1.1

5 years ago

5.1.0-beta.9

5 years ago

5.1.0-beta.8

5 years ago

5.1.0-beta.7

5 years ago

5.1.0-beta.6

5 years ago

5.0.2

5 years ago

5.1.0-beta.5

5 years ago

5.1.0-beta.4

5 years ago

5.1.0-beta.3

5 years ago

5.1.0-beta.2

5 years ago

5.1.0-beta.1

5 years ago

5.1.0

5 years ago

5.0.1

5 years ago

5.0.0

5 years ago

5.0.0-beta.8

5 years ago

5.0.0-beta.7

5 years ago

5.0.0-beta.6

5 years ago

5.0.0-beta.5

5 years ago

5.0.0-beta.4

5 years ago

5.0.0-beta.3

5 years ago

5.0.0-beta.2

5 years ago

5.0.0-beta.1

5 years ago

5.0.0-beta.0

5 years ago

1.0.0

5 years ago