Pagination 공통 컴포넌트 #85
Seon-K
started this conversation in
Engineering Breakdown
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
1. ✨ 설계 배경 및 목적
Pagination컴포넌트는 사용자에게 페이지 탐색의 일관된 UI/UX 제공를 제공하기 위해 설계되었습니다.Pagination컴포넌트는 단일 컴포넌트로 구성되어있으며, 해당 컴포넌트를 단일 컴포넌트로 구성한 이유는 아래와 같습니다,단일 컴포넌트로 구성한 이유
<Pagination.Page>,<Pagination.Prev>같은 구성이 필요한 상황이 아니며, 대부분의 사용 사례에서 단일 컴포넌트로 충분히 커버 가능하다고 생각했습니다.2. 🧱 구성요소 및 구조
디렉터리 구조
3. ⚙️ 동작 흐름 요약
사용자 관점
개발자 관점
currentPage,totalPages,onPageChangeprops로 제어generatePages()함수로 페이지 버튼 리스트 생성"..."기호는 생략 영역 표현을 위한 값4. 🔮 설계 의도 및 고려사항
"..."생략 기호 사용currentPage는 외부 상태로 제어하며, 내부에 별도 state는 없음5. 🪄 세부 설명: 주요 훅 / 컴포넌트 / 유틸
Props 설명
currentPagenumbertotalPagesnumberonPageChange(page: number) => voidpageRangenumber5입니다.내부 유틸:
generatePages()currentPage = 2→[1, 2, 3, 4, 5, '...', 20]currentPage = 10→[1, '...', 9, 10, 11, '...', 20]currentPage = 19→[1, '...', 16, 17, 18, 19, 20]6. 🧩 사용 예시 및 패턴
7.⚠️ 사용 시 주의사항
8. 📎 참고 파일 및 링크
KRDS
Material UI
/test/pagination경로에서 실제 동작 테스트가 가능합니다.Beta Was this translation helpful? Give feedback.
All reactions