Merge pull request #956 from LikiosSedo/fix/spotlight-event-listener-leak

fix: use stable references for event listeners in Spotlight component
This commit is contained in:
Rohan Verma 2026-03-24 20:36:13 -07:00 committed by GitHub
commit 385826a862
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -48,14 +48,17 @@ export function Spotlight({
useEffect(() => { useEffect(() => {
if (!parentElement) return; if (!parentElement) return;
const handleEnter = () => setIsHovered(true);
const handleLeave = () => setIsHovered(false);
parentElement.addEventListener("mousemove", handleMouseMove); parentElement.addEventListener("mousemove", handleMouseMove);
parentElement.addEventListener("mouseenter", () => setIsHovered(true)); parentElement.addEventListener("mouseenter", handleEnter);
parentElement.addEventListener("mouseleave", () => setIsHovered(false)); parentElement.addEventListener("mouseleave", handleLeave);
return () => { return () => {
parentElement.removeEventListener("mousemove", handleMouseMove); parentElement.removeEventListener("mousemove", handleMouseMove);
parentElement.removeEventListener("mouseenter", () => setIsHovered(true)); parentElement.removeEventListener("mouseenter", handleEnter);
parentElement.removeEventListener("mouseleave", () => setIsHovered(false)); parentElement.removeEventListener("mouseleave", handleLeave);
}; };
}, [parentElement, handleMouseMove]); }, [parentElement, handleMouseMove]);