react-js-pagination 라이브러리

k1yeee ㅣ 2022. 10. 7. 14:34

설치하기

npm install react-js-pagination
yarn add react-js-pagination

 

라이브러리 기본 설정

<Pagination
    //현재 보고있는 페이지 
    activePage={1}
    //한페이지에 출력할 아이템수
    itemsCountPerPage={5}
    //총 아이템수
    totalItemsCount={300}
    //표시할 페이지수
    pageRangeDisplayed={5}
    //함수
    onChange={handlePageChange}>
</Pagination>

 

+) 스타일링 적용

import Pagination from 'react-js-pagination'
import styled from 'styled-components'

const AxiosPost = () => {
  
  const handlePageChange = (page) => { setPage(page); };

  return (
    <div>
      <h2>API 연습</h2>
      <PaginationBox>
        <Pagination
          activePage={1}
          itemsCountPerPage={9}
          totalItemsCount={300}
          pageRangeDisplayed={5}
          onChange={handlePageChange}>
        </Pagination>
      </PaginationBox>
    </div>
  )
}

const PaginationBox = styled.div`
  .pagination { display: flex; justify-content: center; margin-top: 15px;}
  ul { list-style: none; padding: 0; }
  ul.pagination li {
    display: inline-block;
    width: 30px;
    height: 30px;
    border: 1px solid #e2e2e2;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1rem; 
  }
  ul.pagination li:first-child{ border-radius: 5px 0 0 5px; }
  ul.pagination li:last-child{ border-radius: 0 5px 5px 0; }
  ul.pagination li a { text-decoration: none; color: #337ab7; font-size: 1rem; }
  ul.pagination li.active a { color: white; }
  ul.pagination li.active { background-color: #337ab7; }
  ul.pagination li a:hover,
  ul.pagination li a.active { color: blue; }
`

export default AxiosPost

 

완성본

 

'React' 카테고리의 다른 글

얕은 복사와 깊은 복사  (0) 2022.10.19
var, let, const 의 차이  (0) 2022.10.13
react-hook-form (useForm) 사용  (0) 2022.10.06
페이지 이동 / useNavigate()  (0) 2022.08.15
3주차 팀과제 - 미완  (0) 2022.08.04