mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-05-10 16:22:38 +02:00
fix: use stable references for event listeners in Spotlight component
Anonymous arrow functions create different references on add/remove, so the listeners were never actually removed. Closes #933
This commit is contained in:
parent
8232893fbb
commit
8d8c36fc59
1 changed files with 7 additions and 4 deletions
|
|
@ -48,14 +48,17 @@ export function Spotlight({
|
|||
useEffect(() => {
|
||||
if (!parentElement) return;
|
||||
|
||||
const handleEnter = () => setIsHovered(true);
|
||||
const handleLeave = () => setIsHovered(false);
|
||||
|
||||
parentElement.addEventListener("mousemove", handleMouseMove);
|
||||
parentElement.addEventListener("mouseenter", () => setIsHovered(true));
|
||||
parentElement.addEventListener("mouseleave", () => setIsHovered(false));
|
||||
parentElement.addEventListener("mouseenter", handleEnter);
|
||||
parentElement.addEventListener("mouseleave", handleLeave);
|
||||
|
||||
return () => {
|
||||
parentElement.removeEventListener("mousemove", handleMouseMove);
|
||||
parentElement.removeEventListener("mouseenter", () => setIsHovered(true));
|
||||
parentElement.removeEventListener("mouseleave", () => setIsHovered(false));
|
||||
parentElement.removeEventListener("mouseenter", handleEnter);
|
||||
parentElement.removeEventListener("mouseleave", handleLeave);
|
||||
};
|
||||
}, [parentElement, handleMouseMove]);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue