Use Gesture
made with React

Use Gesture

这是一个支持丰富鼠标和触摸手势的 React 库 。

相关问答
暂无相关问题
查看全部
简介及使用教程

Use Gesture是一个支持丰富鼠标和触摸手势的 React 库 。 Use Gesture可以将丰富的鼠标和事件绑定到任何组件或视图。通过接收到的数据,设置手势变得非常简单,而且通常只需要几行代码。

安装

React

Npm

npm i @use-gesture/react

Yarn

yarn add @use-gesture/react

纯JavaScript:

Npm

npm i @use-gesture/vanilla

Yarn

yarn add @use-gesture/vanilla

使用

react

import { useSpring, animated } from '@react-spring/web'
import { useDrag } from '@use-gesture/react'

function Example() {
  const [{ x, y }, api] = useSpring(() => ({ x: 0, y: 0 }))

  // Set the drag hook and define component movement based on gesture data
  const bind = useDrag(({ down, movement: [mx, my] }) => {
    api.start({ x: down ? mx : 0, y: down ? my : 0 })
  })

  // Bind it to a component
  return <animated.div {...bind()} style={{ x, y, touchAction: 'none' }} />
}

javascript

<!-- index.html -->
<div id="drag" />
// script.js
const el = document.getElementById('drag')
const gesture = new DragGesture(el, ({ active, movement: [mx, my] }) => {
  setActive(active)
  anime({
    targets: el,
    translateX: active ? mx : 0,
    translateY: active ? my : 0,
    duration: active ? 0 : 1000
  })
})

// when you want to remove the listener
gesture.destroy()

可用 Hooks

Hook Description
useDrag 处理拖拽手势
useMove 处理鼠标移动
useHover 处理鼠标进入及离开时间
useScroll 处理滚动事件
useWheel 处理鼠标滚轮事件
usePinch 处理捏合手势
useGesture 处理多个手势

示例

68747470733a2f2f692e696d6775722e636f6d2f414d7a734569332e676966.gif

usegesture.gif

作者

相关项目

这是一个用于使用React构建可访问的富Web应用程序的工具包。
这是一个基于开源Material风格的组件库。
这是一个React组件库。
这是一个可定制和复用的React Native组件库。
这是一个免费的React UI套件
这是一个支持Pinterest设计的UI组件库。