Sha256: 49a561a4bf008f2bf905bda6c4a0d4af1830f462e1a1ead00570ec33d65d4ca9
Contents?: true
Size: 534 Bytes
Versions: 8
Compression:
Stored size: 534 Bytes
Contents
import React, { useEffect, useRef } from "react"; import { Draggable } from "./types"; export default function useDraggable( draggable: Draggable, startDrag: (evt: React.MouseEvent, draggable: Draggable) => void ) { const ref = useRef<HTMLDivElement>(null); const handleDrag = (evt: Event) => { evt.preventDefault(); evt.stopPropagation(); startDrag(evt, draggable); }; useEffect(() => { draggable.ref.current = ref.current; }, []); return { ref: ref, onDragStart: handleDrag, draggable: true }; }
Version data entries
8 entries across 8 versions & 1 rubygems