From 2c101420ccc7dc1c56eb7bb7c41f2cca83af334a Mon Sep 17 00:00:00 2001 From: Benjamin Toby Date: Tue, 10 Mar 2026 05:13:00 +0100 Subject: [PATCH] Updates --- components/hooks/useIntersectionObserver.tsx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/components/hooks/useIntersectionObserver.tsx b/components/hooks/useIntersectionObserver.tsx index 5a92478..3ef16d1 100644 --- a/components/hooks/useIntersectionObserver.tsx +++ b/components/hooks/useIntersectionObserver.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import React, { useRef } from "react"; type Param = { elementRef?: React.RefObject; @@ -9,8 +9,6 @@ type Param = { delay?: number; }; -let timeout: any; - export default function useIntersectionObserver({ elementRef, className, @@ -19,6 +17,8 @@ export default function useIntersectionObserver({ delay, elId, }: Param) { + let timeoutRef = useRef(null); + const [isIntersecting, setIsIntersecting] = React.useState(false); const [refresh, setRefresh] = React.useState(0); @@ -27,10 +27,10 @@ export default function useIntersectionObserver({ const observerCallback: IntersectionObserverCallback = React.useCallback( (entries, observer) => { const entry = entries[0]; - window.clearTimeout(timeout); + window.clearTimeout(timeoutRef.current); if (entry.isIntersecting) { - timeout = setTimeout(() => { + timeoutRef.current = setTimeout(() => { setIsIntersecting(true); if (removeIntersected) { @@ -41,7 +41,7 @@ export default function useIntersectionObserver({ setIsIntersecting(false); } }, - [] + [], ); React.useEffect(() => {