UNPKG

react-use

Version:
28 lines (27 loc) 1.13 kB
import { useEffect, useState } from 'react'; // kudos: https://usehooks.com/ var useHoverDirty = function (ref, enabled) { if (enabled === void 0) { enabled = true; } if (process.env.NODE_ENV === 'development') { if (typeof ref !== 'object' || typeof ref.current === 'undefined') { console.error('useHoverDirty expects a single ref argument.'); } } var _a = useState(false), value = _a[0], setValue = _a[1]; useEffect(function () { var onMouseOver = function () { return setValue(true); }; var onMouseOut = function () { return setValue(false); }; if (enabled && ref && ref.current) { ref.current.addEventListener('mouseover', onMouseOver); ref.current.addEventListener('mouseout', onMouseOut); } return function () { if (enabled && ref && ref.current) { ref.current.removeEventListener('mouseover', onMouseOver); ref.current.removeEventListener('mouseout', onMouseOut); } }; }, [enabled, ref]); return value; }; export default useHoverDirty;