IntersectionObserver 커스텀 훅
import { useEffect, useState, useCallback, useRef } from 'react';
const useInfiniteScroll = (targetEl) => {
const observerRef = useRef(null);
const [intersecting, setIntersecting] = useState(false);
const getObserver = useCallback(() => {
if (!observerRef.current) {
observerRef.current = new IntersectionObserver((entries) =>
setIntersecting(entries.some((entry) => entry.isIntersecting)),
);
}
return observerRef.current;
}, [observerRef.current]);
useEffect(() => {
if (targetEl.current) getObserver().observe(targetEl.current);
return () => {
getObserver().disconnect();
};
}, [targetEl.current]);
return intersecting;
};
export default useInfiniteScroll;
Author And Source
이 문제에 관하여(IntersectionObserver 커스텀 훅), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@sbinha/IntersectionObserver-커스텀-훅저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)