Intersection Observer API에 대해 알아보고 사용하면서 Scroll Event를 사용했을때보다 개발자가 관여해야할 부분이 적어진다는 것을 느꼈습니다. 그리고 custom hooks로 변경하면서 내부 구현은 숨기고 교차지점에 실행될 함수와 타겟요소만 노출시킴으로써 타겟요소가 무엇이고 교차지점에서 무슨 함수가 실행되는지 한눈에 알 수 있어서 좋았습니다. 선언적 프로그래밍이 바로 이런 것이구나 라는 것을 다시한번 느끼게 되었습니다. 🤩 useInfiniteScroll({
target: targetRef.current,
onIntersect: ([{ isIntersecting }]) => {
if (isIntersecting && !loading) {
loadMoreComments();
}
},
});