UNPKG

react-dev-inspector

Version:

dev-tool for inspect react components and jump to local IDE for component code.

33 lines (26 loc) 651 B
import { useEffect, useRef, type MutableRefObject, } from 'react' export const useMousePosition = ({ disable }: { disable?: boolean; }): MutableRefObject<{ x: number; y: number }> => { const mouseRef = useRef<{ x: number; y: number }>({ x: 0, y: 0, }) const recordMousePoint = (ev: MouseEvent) => { mouseRef.current.x = ev.clientX mouseRef.current.y = ev.clientY } useEffect(() => { if (!disable) { document.addEventListener('mousemove', recordMousePoint, true) } return () => { document.removeEventListener('mousemove', recordMousePoint, true) } }, [disable]) return mouseRef }