1 | import { useEffect } from 'react';
|
2 | import useEventCallback from './useEventCallback';
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 | export default function useEventListener(eventTarget, event, listener, capture) {
|
14 | if (capture === void 0) {
|
15 | capture = false;
|
16 | }
|
17 |
|
18 | var handler = useEventCallback(listener);
|
19 | useEffect(function () {
|
20 | var target = typeof eventTarget === 'function' ? eventTarget() : eventTarget;
|
21 | target.addEventListener(event, handler, capture);
|
22 | return function () {
|
23 | return target.removeEventListener(event, handler, capture);
|
24 | };
|
25 | }, [eventTarget]);
|
26 | } |
\ | No newline at end of file |