UNPKG

@vergiss/chooks

Version:
42 lines (38 loc) 920 B
import { useState, useEffect } from 'react'; var initState = { screenX: NaN, screenY: NaN, clientX: NaN, clientY: NaN, pageX: NaN, pageY: NaN }; function useMousePosition() { var _a = useState(initState), pos = _a[0], setPos = _a[1]; useEffect(function () { var setMousePosition = function setMousePosition(e) { var screenX = e.screenX, screenY = e.screenY, clientX = e.clientX, clientY = e.clientY, pageX = e.pageX, pageY = e.pageY; setPos({ screenX: screenX, screenY: screenY, clientX: clientX, clientY: clientY, pageX: pageX, pageY: pageY }); }; document.addEventListener('mousemove', setMousePosition); return function () { document.removeEventListener('mousemove', setMousePosition); }; }, []); return pos; } export { useMousePosition };