해결된 질문
작성
·
409
·
수정됨
답변 1
1
좋은 질문이네요
제가 react-window 코드를 보고 그 아이디어로 구현을 해본 것인데요. 올려주신 질문을 보니까 IntersectionObserver API로 구현이 가능할 것 같네요. react-window를 구현한 개발자가 IntersectionObserver를 모르진 않았을 것 같은데...
제가 한번 구현해보고 장단점을 답글로 남기겠습니다
(해당 강의로 질문이 잘 도착했습니다 😀)
IntersectionObserver 로 구현을 해봤습니다. (리포지토리 intersection-observer 에서 확인 가능합니다)
https://github.com/things-not-learn-from-bootcamp/virtualized-list/tree/intersection-observer
우선 최초에 렌더링 할 때 일부만 렌더링 되도록 구현했고 보이지 않을 때 DOM에서 해제하는 것은 구현하지 못했습니다.
말씀하신대로 IntersectionObserver 로도 구현이 가능해보이고 제가 강의에서 구현한 내용은 항상 itemSize를 넘겨줘야 해서 고정된 높이의 아이템들만 렌더링이 가능했는데 IntersectionObserver을 잘 활용하면 유동적인 높이의 아이템도 구현이 가능하겠군요!
답변 주셔서 감사합니다!!