メインコンテンツまでスキップ

How to create pinch gesture

create your app

import { gsap } from 'gsap'
import { usePinch } from 'reev/gesture/pinch/react'

export const App = () => {
const { ref } = usePinch(({ active, event, target, movement: [x, y] }) => {
event.preventDefault()
x = Math.abs(x) / 100 + 1
y = Math.abs(y) / 100 + 1
gsap.to(target, { scaleX: x, scaleY: y })
})
return <span ref={ref} style={style} />
}

with Pinch component

You can use shorthands Pinch component

import { Pinch } from 'reev/gesture/pinch/react'

export const pinch = ({ event, target, movement: [x, y] }) => {
event.preventDefault()
x = Math.abs(x) / 100 + 1
y = Math.abs(y) / 100 + 1
gsap.to(target, { scaleX: x, scaleY: y })
}

export const App2 = () => {
return <Pinch pinch={pinch}>{({ ref }) => <span ref={ref} style={style} />}</Pinch>
}