이제 리덕스 스토어 안에 마지막 페이지 번호를 lastPage라는 값으로 담아 둘 수 있습니다. 페이지네이션을 위한 컴포넌트 Pagination.js를 components/posts 디렉터리에 작성해 보세요.
components/posts/Pagination.js
import React from 'react'; import styled from 'styled-components'; import qs from 'qs'; import Button from '../common/Button'; const PaginationBlock = styled.div` width: 320px; margin: 0 auto; display: flex; justify-content: space-between; margin-bottom: 3rem; `; const PageNumber = styled.div``; const buildLink = ({ username, tag, page }) => { const query = qs.stringify({ tag, page }); return username ? `/@${username}?${query}` : `/?${query}`; }; const Pagination = ({ page, lastPage, username, tag }) => { return ( <PaginationBlock> <Button disabled={page = = = 1} to={ page = = = 1 ? undefined : buildLink({ username, tag, page: page - 1 }) } > 이전 </Button> <PageNumber>{page}</PageNumber> <Button disabled={page = = = lastPage} to={ page = = = lastPage ? undefined : buildLink({ username, tag, page: page + 1 }) } > 다음 </Button> </PaginationBlock> ); }; export default Pagination;