
레이지 로딩은 말 그대로 '게으르게 로딩하는 것'이다.
웹 페이지를 처음 불러올 때 모든 리소스를 한 번에 불러오지 않고, 사용자가 실제로 필요할 때(예: 스크롤로 화면에 나타날 때) 불러오는 방법이다.
특히 이미지, 비디오, 외부 스크립트처럼 용량이 큰 리소스에 많이 사용되며, 화면에 보이지도 않는 이미지들을 굳이 미리 로딩하지 않기 때문에 성능과 사용자 경험을 크게 향상시킬 수 있다. 🚀
1. 초기 로딩 속도 개선
첫 페이지 진입 시 불필요한 이미지들을 불러오지 않으므로 로딩 시간이 짧아진다.
2. 트래픽 절약
사용자가 끝까지 스크롤하지 않는다면, 해당 영역의 이미지들은 로드되지 않기 때문에 트래픽을 아낄 수 있다.
useInView는 react-intersection-observer 라이브러리에서 제공하는 React 훅(Hook)으로
어떤 요소가 뷰포트(Viewport)에 들어왔는지를 감지하는 기능이다.
const { ref, inView } = useInView();
inView가 true인 시점에 이미지를 로드하거나, 애니메이션을 트리거할 수 있다.

👉🏻 불필요하게 화면에 보이지 않는 이미지 리소스를 미리 불러오지 않도록 방지
network를 통해 확인해보면 스크롤을 내릴 때마다 이미지가 렌더링되는 것을 볼 수 있다.
