Skip to content

Commit fad195f

Browse files
Add custom hook useIntersectionObserver
1 parent 43998e3 commit fad195f

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

hooks/useIntersectionObserver.ts

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import { useEffect, useRef, MutableRefObject } from 'react';
2+
3+
export function useIntersectionObserver(
4+
callback: () => void
5+
): MutableRefObject<IntersectionObserver | null> {
6+
const observerRef = useRef<IntersectionObserver | null>(null);
7+
8+
useEffect(() => {
9+
observerRef.current = new IntersectionObserver(entries => {
10+
if (entries[0].isIntersecting) {
11+
callback();
12+
}
13+
});
14+
15+
return () => observerRef.current?.disconnect();
16+
}, [callback]);
17+
18+
return observerRef;
19+
}

0 commit comments

Comments
 (0)