Skip to content

Commit c05bb9c

Browse files
authored
perf(useHover): minimize unnecessary global events (#8483)
1 parent 41f202f commit c05bb9c

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

packages/@react-aria/interactions/src/useHover.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ function setGlobalIgnoreEmulatedMouseEvents() {
4848
}, 50);
4949
}
5050

51-
function handleGlobalPointerEvent(e) {
51+
function handleGlobalPointerEvent(e: PointerEvent) {
5252
if (e.pointerType === 'touch') {
5353
setGlobalIgnoreEmulatedMouseEvents();
5454
}
@@ -59,10 +59,12 @@ function setupGlobalTouchEvents() {
5959
return;
6060
}
6161

62-
if (typeof PointerEvent !== 'undefined') {
63-
document.addEventListener('pointerup', handleGlobalPointerEvent);
64-
} else if (process.env.NODE_ENV === 'test') {
65-
document.addEventListener('touchend', setGlobalIgnoreEmulatedMouseEvents);
62+
if (hoverCount === 0) {
63+
if (typeof PointerEvent !== 'undefined') {
64+
document.addEventListener('pointerup', handleGlobalPointerEvent);
65+
} else if (process.env.NODE_ENV === 'test') {
66+
document.addEventListener('touchend', setGlobalIgnoreEmulatedMouseEvents);
67+
}
6668
}
6769

6870
hoverCount++;

0 commit comments

Comments
 (0)