2차 프로젝트 - Pagination

박주엽·2020년 9월 13일

React

목록 보기
5/7

Pagination

Pagination이란?
서버의 데이터가 많은 경우 화면에 모두 보여줄 때 일정 이벤트를 통해 부분적으로 보여지는 것을 의미한다.

이번 2차 프로젝트에 적용한 스크롤 이벤트를 활용한 Pagination을 기록하면서 앞으로도 유용하게 사용해야겠다.

  • initialData - 화면에 보여줄 데이터를 보관
  • offsetData - 서버로 요청할 범위 지정
  • fetching - 서버에서 data를 요청하는 상태 값
  • LIMIT - 일정하게 받아올 범위

  • fetch 함수를 설정
  • API 주소에 offsetData 변수에 지정된 값을 넣어준다
  • 데이터를 받아오고 기존의 데이터에 새로운 데이터를 포함하여야 되기 때문에 스프레드 연산자를 통해 구현
  • setFetching을 통해 fetch를 중단한다
  • 이후 offsetData + LIMIT통해 다음에 받아올 범위를 설정

  • 스크롤 이벤트를 정의한다
  • 스크롤의 현재위치를 가져온다
  • 사용자가 보여지는 화면의 높이를 가져온다
  • 총 화면의 높이를 가져온다
  • 조건문으로 스크롤이 최하단으로 갔을때 setFetching을 통해 상태값을 변경한다

  • 의존성 배열에 빈배열 넣어 스크롤 이벤트가 렌더 후 한번만 실행되게 한다
  • fetching 상태 값이 변경 되면 endScrollEvent가 실행되고 마지막 offset값 보다 작으면 fetch를 실행하여 data를 받아오고 offset 값에 LIMIT을 더 해준다

  • fetch가 되면 Data를 받아오는 시간동안 Loading...이라는 문구가 보이고 Data가 화면에 출력된다.

0개의 댓글