import * as React from "react"; import Moveable from "@/react-moveable"; import "./snap.css"; export default function App(props: Record) { const [snapContainer, setSnapContainer] = React.useState(".snapGrid"); const onMoustEnter = React.useCallback((e: MouseEvent) => { setSnapContainer(e.currentTarget as HTMLElement); }, []); return (
{ document.querySelectorAll(".snapGrid").forEach(grid => { grid.addEventListener("mouseenter", onMoustEnter); }); }} onDrag={e => { e.target.style.transform = e.transform; e.target.style.pointerEvents = "none"; }} onDragEnd={e => { e.target.style.pointerEvents = ""; document.querySelectorAll(".snapGrid").forEach(grid => { grid.removeEventListener("mouseenter", onMoustEnter); }); }} />
Target
); }