mirror of
https://github.com/zoriya/react-native-web.git
synced 2026-06-05 11:19:34 +00:00
Fix flow error in useEvent
This commit is contained in:
+6
-10
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user