UNPKG

@itwin/itwinui-react

Version:

A react component library for iTwinUI

16 lines (15 loc) 513 B
import * as React from 'react'; export const useEventListener = (eventName, handler, element) => { let savedHandler = React.useRef(void 0); React.useEffect(() => { savedHandler.current = handler; }, [handler]); React.useEffect(() => { if (!element) return; let eventListener = (event) => savedHandler.current?.(event); element.addEventListener(eventName, eventListener); return () => { element.removeEventListener(eventName, eventListener); }; }, [eventName, element]); };