UNPKG

@use-it/event-listener

Version:

A custom React Hook that provides a useEventListener.

2 lines (1 loc) 586 B
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n(require("react")):"function"==typeof define&&define.amd?define(["react"],n):(e=e||self).eventListener=n(e.react)}(this,function(e){return function(n,t,r,i){void 0===r&&(r=global),void 0===i&&(i={});var f=e.useRef(),o=i.capture,u=i.passive,c=i.once;e.useEffect(function(){f.current=t},[t]),e.useEffect(function(){if(r&&r.addEventListener){var e=function(e){return f.current(e)},t={capture:o,passive:u,once:c};return r.addEventListener(n,e,t),function(){r.removeEventListener(n,e,t)}}},[n,r,o,u,c])}});