Ant Design์ ์๋ฆฌ๋ฐ๋ฐ ๊ทธ๋ฃน์์ ๊ฐ๋ฐํ UI ํ๋ ์์ํฌ์ด๋ค .
Button, Slide, Input, Form ๋ฑ ๋ค์ํ ๋ฆฌ์กํธ ์ปดํฌ๋ํธ๋ฅผ ์ ๊ณตํ๋ค
Ant Design์ ์ด์ฉํ์ฌ ์์ฝ๊ฒ ์ฌ๋ผ์ด๋์ ํ์ด์ง๋ค์ด์ ์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์ !
๐ Pagination
ํ์ด์ง๋ค์ด์ ์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์
์ ํ์ด์ง๋ค์ด์ Example์ ์ฌ์ฉํด๋ณด์!
// Pagination
import { Pagination } from 'antd';
const [currentPage, setCurrentPage] = useState(); // ํ์ฌ ํ์ด์ง State
// Ant Design์ Pagination ์ปดํฌ๋ํธ
<Pagination
current={currentPage} // ํ์ฌ ํด๋ฆญํ ํ์ด์ง
total={totalElement} // ๋ฐ์ดํฐ์ ์ด ๊ฐ์
pageSize={5} // ํ์ด์ง ๋น ๋ณด์ฌ์ค ๊ฐ์
onChange={(value) => {
changePage(value); // ํ์ด์ง์ ๋ณ๊ฒฝ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด changePage ํจ์๋ฅผ ํธ์ถ
}}
/>
// ํ์ด์ง ๋ณ๊ฒฝ
const changePage = (page) => {
setCurrentPage(page); // onChange ํจ์์์ ๋ณด๋ธ value ํ๋ผ๋ฏธํฐ
getData(page); // ๋ณ๊ฒฝ๋ page๋ฅผ ํ๋ผ๋ฏธํฐ๋ก ๋ฐ์ดํฐ๋ฅผ ์์ฒญ
};
Pagination ์ปดํฌ๋ํธ์ ํ์ํ API๋ค์ ๋ฑ๋กํ์
ํ์ด์ง๋ฅผ ํด๋ฆญํ์ ๋ ์ํ๋๋ onChange ์ด๋ฒคํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์๋ฒ์ ์์ฒญํ๋ฉด ๋๊ฒ ๋ค !
์ด๋ ๊ฒ ์ฌ์ฉํ๊ฒ ๋๋ค๋ฉด ํ์ด์ง๋ค์ด์ ์ ๊ตฌํ์ด ์๋ฃ๊ฐ ๋ ๊ฒ์ด๋ค.
๋๋ฌด ์ฝ๋ค !
โ Styled-Components ๋ก Ant Design ์ปค์คํ ๋์์ธ ํ๋ ๋ฐฉ๋ฒ
์์ ์ฝ๋์์ ๋ณ๊ฒฝ์ด ์ฝ๊ฐ ํ์ํ๋ค
<PaginationContent
current={currentPage + 1}
total={totalElement}
pageSize={5}
onChange={(value) => {
changePage(value);
}}
/>
์ปดํฌ๋ํธ ์ด๋ฆ์ Styled-Components ์์ ์ฌ์ฉ ํ ์ ์๊ฒ ๊ธฐ์กด์ Pagination์์ ๋ณ๊ฒฝํด์ค๋ค
Styled-Components ์ฝ๋์ ์๋ ์ฒ๋ผ ์ ์ธํด์ค๋ค ์) styled(Ant Design ์ปดํฌ๋ํธ)
const PaginationContent = styled(Pagination)`
.ant-select-selector {
display: none;
}
`;
์ด๋ ๊ฒ ํด์ฃผ๋ฉด Ant Design ์ปดํฌ๋ํธ๋ฅผ ์ปค์คํ ํ ์ ์๋ค.
.ant-select-selector์ ์ฒ๋ผ ํด๋์ค๋ช ์ ํตํด ๋์์ธ์ ๋ณ๊ฒฝํ ์ด์ ๋ Pagination ์ปดํฌ๋ํธ๋ฅผ ๋ ๋๋ง ํ์ ๊ฒฝ์ฐ์
๊ฐ๋ฐ์ ๋๊ตฌ Element ํญ์์ ํ์ธํด๋ณด๋ฉด Pagination ํ์์ ๋ง์ ํ๊ทธ๋ค์ด ์กด์ฌ ํ๋๋ฐ ๊ทธ ํ๊ทธ๋ค์ ๋์์ธ์ ๋ณ๊ฒฝํ๊ธฐ ์ํด์๋
๊ฐ ํ๊ทธ์ ํด๋์ค๋ช ์ ํตํด์ ํ๋ฉด ๋๋ค !
๐ก ์จ๋ณด๊ณ ๋๋ ์คํธ๋์์ธ์ ์ฅ๋จ์
์ฅ์
๊ต์ฅํ ํธ์ํ ๋์์ธ ๋ ์ด์์
๋ณดํต React๋ก ํ๋ก์ ํธ๋ฅผ ์งํํ๋ค๋ฉด ๋งํฌ์ ์ ํ๊ณ Styled-Components ๋ฑ์ ์ฌ์ฉํ์ฌ ๋์์ธ์ ํ๊ณ ..
ํ๋์ ์ปดํฌ๋ํธ ๋์์ธ์ ์ํด ํด์ผํ ์ผ์ด ์๋นํ ๋ง๋ค. ํ์ง๋ง ์คํธ๋์์ธ์ ์ฌ์ฉํ๋ฉด ๋์์ธ ๋ ์ปดํฌ๋ํธ๋ฅผ ์ ๊ณตํด์ฃผ๊ธฐ ๋๋ฌธ์
ํธํ๊ฒ ์ฌ์ฉ ํ ์ ์๊ณ , ๊ฐ ์ปดํฌ๋ํธ๋ง๋ค ์ฌ์ฉ ํ ์ ์๋ API, Methods๊ฐ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ํธํ๊ฒ ์ด๋ฒคํธ๋ฅผ ๋ฑ๋กํ๊ฑฐ๋ ๊ทธ๋ฆฌ๋ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๋ค
๋จ์
์ปค์คํ ๋์์ธ
์ปดํฌ๋ํธ๋ฅผ ๊ทธ๋๋ก ๊ฐ์ ธ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ปดํฌ๋ํธ๋ฅผ ๋ธ๋ผ์ฐ์ ์์ Element ํญ์์ ํ์ธํด๋ณด๋ฉด ์ฌ๋ฌ ํ๊ทธ๋ค์ด ์กด์ฌํด์๋ค.
์ด ํ๊ทธ๋ค์ ๋์์ธ์ ๋ณ๊ฒฝํ๋ ๊ฒ์ด ์ ๋ง ์ฝ์ง์๋ค.. ์ผ์ผ์ด ๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ์ด์ด์ ์ฐพ์ ๋ณด๋ฉฐ ๋์์ธ ๋ณ๊ฒฝ์ ํด์ผํ๊ธฐ ๋๋ฌธ์
๋์์ธ์ ์ปค์คํ ํ๊ธฐ ๊ต์ฅํ ์ ๋ฅผ ๋จน์๋ ๊ฒ ๊ฐ๋ค.
์คํธ๋์์ธ์ ๋จ์ ์ ์์ ์ ์ด๋์ ๊ฒ ๋ง๊ณ ๋ ๋ง์ด ์กด์ฌํ์ง๋ง ์ฅ์ ์ด ๋งค์ฐ ์ข๊ฒ ๋ค๊ฐ์๊ธฐ ๋๋ฌธ์ ์์ฃผ ๋ง์กฑํ๋ฉด์ ์ฌ์ฉํ๋ค.
๋์ค์ ํผ์ ํ๋ก์ ํธ๋ฅผ ์งํ ํ ๋๋ ์ฌ์ฉํ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค๊ณ ์๊ฐํ๋ค.
- Reperence
https://ant.design/components/pagination/
Pagination - Ant Design
onChangeCalled when the page number or pageSize is changed, and it takes the resulting page number and pageSize as its argumentsfunction(page, pageSize)-
ant.design