Intersection Observer API를 이용하여 무한스크롤을 구현하고자 한다.
<데이터 구조>
사용하는 영화 리스트 API 의 데이터 구조는 page 한개 당 20개의 영화 리스트를 담은 배열 형태로 되어있다.
따라서, 한번에 20개의 영화 리스트를 받을 수 있고 그 다음 20개의 영화 리스트를 요청하기 위해서는 fetch 요청 URL에서 page=2 라는 파라미터를 추가해주어야 한다.
<로직>
이러한 데이터 구조를 보았을 때, 무한스크롤을 구현하기 위해서는
1. Intersection Observer가 맨 아래 요소를 관측함
2. 관측이 확인되면 page 라는 상태 값을 1 증가시킴
3. 의존성 배열로 page 값을 갖는 useEffect 훅을 작성함
-> 해당 훅에서 page 값의 업데이트가 감지되었을 때, 해당 page 값을 URL 파라미터로 받아 fetch 요청을 보냄
4. 받아온 데이터를 렌더링함
이러한 로직이 필요하겠다는 생각을 했다.
~~~ 작성 중 ~~~
'Web dev > 기능구현' 카테고리의 다른 글
Todo 앱 구현하기 1. (회원가입, 로그인) (1) | 2023.06.13 |
---|---|
TMDB API 이용하여 프론트엔드 페이지네이션 구현하기 - 로직 구상 (0) | 2023.06.01 |