Fix flow error in useEvent

This commit is contained in:
Nicolas Gallagher
2021-04-08 17:19:05 -07:00
parent 84fd278af1
commit 4e77aebc17
+6 -10
View File
@@ -32,7 +32,7 @@ export default function useEvent(
): AddListener { ): AddListener {
const targetListeners = useStable(() => new Map()); const targetListeners = useStable(() => new Map());
let addListener = useStable(() => { const addListener = useStable(() => {
const addEventListener = createEventHandle(event, options); const addEventListener = createEventHandle(event, options);
return (target: EventTarget, callback: Callback) => { return (target: EventTarget, callback: Callback) => {
const removeTargetListener = targetListeners.get(target); const removeTargetListener = targetListeners.get(target);
@@ -50,16 +50,12 @@ export default function useEvent(
useLayoutEffect(() => { useLayoutEffect(() => {
return () => { return () => {
if (addListener != null) { targetListeners.forEach((removeListener) => {
targetListeners.forEach((removeListener) => { removeListener();
removeListener(); });
}); targetListeners.clear();
targetListeners.clear();
}
addListener = null;
}; };
}, [addListener]); }, []);
// $FlowFixMe
return addListener; return addListener;
} }