UNPKG

usehooks-ts

Version:

React hook library, ready to use, written in Typescript.

24 lines 984 B
import { useEffect, useRef } from 'react'; function useEventListener(eventName, handler, element) { var savedHandler = useRef(); useEffect(function () { var targetElement = (element === null || element === void 0 ? void 0 : element.current) || window; if (!(targetElement && targetElement.addEventListener)) { return; } if (savedHandler.current !== handler) { savedHandler.current = handler; } var eventListener = function (event) { if (!!(savedHandler === null || savedHandler === void 0 ? void 0 : savedHandler.current)) { savedHandler.current(event); } }; targetElement.addEventListener(eventName, eventListener); return function () { targetElement.removeEventListener(eventName, eventListener); }; }, [eventName, element, handler]); } export default useEventListener; //# sourceMappingURL=useEventListener.js.map