컴포넌트로 돌아가기
레이블, 카테고리 또는 상태를 표시하는 작은 상태 표시 컴포넌트. React.memo로 최적화됨.
설치
Import
@hua-labs/ui의 UI 컴포넌트를 @hua-labs/hua에서 통합 제공합니다.
UI 컴포넌트, 모션 훅, i18n을 하나의 패키지로 사용할 수 있습니다.
라이브 데모
변형
Default
Secondary
Destructive
Error
Outline
Glass
상태 예시
완료
대기 중
실패
초안
사용 사례
태그
React
TypeScript
Next.js
Tailwind
제품 라벨
Premium Plan
Pro
알림 카운트
메시지
3
알림
99+
Glass 변형 (배경 위에서)
글래스 효과
Props
| 이름 | 타입 | 기본값 | 설명 |
|---|---|---|---|
variant | "default" | "secondary" | "destructive" | "error" | "outline" | "glass" | "default" | 뱃지의 시각적 스타일 |
children* | React.ReactNode | - | 뱃지 내용 |
코드 예시
성능 최적화
Badge는 React.memo로 래핑되어 있어 props가 변경되지 않으면 리렌더링되지 않습니다. variantClasses도 useMemo로 메모이제이션됩니다.
접근성
- •상태 표시용으로 사용, 인터랙티브 요소로 사용 X: 인라인 요소로 렌더링, 기본적으로 인터랙티브하지 않음
- •포커스 가능 시 키보드 탐색용 포커스 링 있음: 비인터랙티브 뱃지에는 포커스 링 불필요
- •모든 변형이 WCAG AA 대비 요구 사항 충족: 모든 변형이 WCAG AA 대비 요구 사항 충족