0.1.3 • Published 5 months ago

react-use-drag v0.1.3

Weekly downloads
-
License
ISC
Repository
github
Last release
5 months ago

React use drag npm npm type definitions

Drag interactions made easier. Try interactive CodeSandbox demo.

UI example

Installation

npm install react-use-drag

How to use

import { useDrag } from 'react-use-drag'

const App = () => {
	const [position, setPosition] = useState({ x: 0, y: 0 })
	const [positionOffset, setPositionOffset] = useState({ x: 0, y: 0 })
	const onRelativePositionChange = useCallback((x, y) => {
		setPositionOffset({ x, y })
	}, [])
	const onStart = useCallback(() => {
		console.log('Dragging has started')
	}, [])
	const onEnd = useCallback((x, y) => {
		setPosition((position) => ({
			x: position.x + x,
			y: position.y + y,
		}))
		setPositionOffset({ x: 0, y: 0 })
	}, [])
	const { elementProps, isMoving } = useDrag({
		onRelativePositionChange,
		onStart,
		onEnd,
	})

	return (
		<button
			className="draggable"
			style={{
				translate: `translate(${position.x}px ${position.y}px)`,
			}}
			{...elementProps}
		>
			{isMoving ? '🚶' : '🧍'}
		</button>
	)
}
1.2.0

3 years ago

1.3.0

3 years ago

1.2.1

3 years ago

0.1.0

5 months ago

0.0.1

5 months ago

0.1.2

5 months ago

0.1.1

5 months ago

0.1.3

5 months ago

1.1.1

3 years ago

1.1.0

3 years ago

1.0.0

3 years ago