UNPKG

@clayui/shared

Version:
18 lines (17 loc) 549 B
import { useEffect, useState } from "react"; import { throttle } from "./throttle"; function useMousePosition(delay = 200) { const [mousePosition, setMousePosition] = useState([0, 0]); useEffect(() => { const handleMousePosition = throttle( (event) => setMousePosition([event.clientX, event.clientY]), delay ); window.addEventListener("mousemove", handleMousePosition); return () => window.removeEventListener("mousemove", handleMousePosition); }, [delay]); return mousePosition; } export { useMousePosition };