더북(TheBook)

9.4.4 페이지네이션 및 시간순 정렬하기

현재 posts 컬렉션의 모든 데이터를 조회하고 있으며, 데이터는 각 문서의 고유 ID 값의 알파벳순으로 나열됩니다.

이번에는 페이지네이션을 구현해볼 건데 기능을 구현하는 단계에서는 한 번에 3개씩만 불러오고, 추후에는 한 번에 12개씩 불러오도록 수정하겠습니다.

 

9.4.4.1 정렬 및 불러오는 수 제한하기

우선 포스트들을 시간순으로 정렬해봅시다. getPosts 함수를 다음과 같이 수정해보세요.

lib/posts.js - getPosts

export async function getPosts() {
  const snapshot = await postsCollection.orderBy('createdAt', 'desc').get();

  const posts = snapshot.docs.map((doc) => ({
    id: doc.id,
    ...doc.data(),
  }));

  return posts;
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.