요구사항을 먼저 분류해야 라이브러리 후보가 좁혀진다
유명한 패키지부터 설치하면 역할이 겹친다. 기능 요구를 상태, 데이터, 검증, UI, 운영 기준으로 나눈 뒤 후보를 고른다.
| 사용자 요구 | 기술 범주 | 후보 | 고르기 전 질문 |
|---|---|---|---|
| 로그인 후 개인 페이지 | Authentication | Auth.js, Clerk | 세션을 서버에서 읽어야 하는가 |
| 검색어 입력 후 목록 갱신 | Server state | TanStack Query, SWR, use-debounce | 캐시와 재검증이 필요한가 |
| 모달, 필터, 임시 선택값 | Client state | Zustand, Jotai | URL이나 서버에 저장할 상태인가 |
| 접근성 있는 UI 컴포넌트 | UI primitive/design | Radix UI, shadcn/ui, Tailwind | 디자인 시스템을 직접 유지할 수 있는가 |
| 복잡한 입력 폼 | Form validation | React Hook Form, Zod | 클라이언트와 서버 검증을 공유할 수 있는가 |
| DB 모델과 CRUD | ORM/ODM | Prisma, Mongoose | 관계형 모델인지 문서 모델인지 |