본문으로 건너뛰기
패턴

빈 상태

결과·데이터가 없을 때 이유와 다음 행동을 안내하는 표시다. 단순히 비었다고 말하는 대신, 왜 비었는지와 사용자가 지금 할 수 있는 일을 함께 보여준다.

활용 방법

검색 결과 없음

필터나 검색어를 조정할 수 있게 안내한다. 보통 action 은 생략한다.

Preview

결과가 없어요

검색어를 바꾸거나 필터를 조정해 보세요

tsx
<EmptyState
icon={<Search size={24} />}
title="결과가 없어요"
description="검색어를 바꾸거나 필터를 조정해 보세요"
/>

첫 데이터

데이터가 아직 없고 생성이 다음 행동이면 action 을 넣는다.

Preview

아직 회사가 없어요

첫 회사를 추가해 보세요

tsx
<EmptyState
icon={<Inbox size={24} />}
title="아직 회사가 없어요"
description="첫 회사를 추가해 보세요"
action={<Button size="sm">회사 추가</Button>}
/>

권한 없음

권한 문제처럼 사용자가 직접 해결하기 어려운 경우는 요청할 대상을 설명한다.

Preview

접근 권한이 없어요

관리자에게 권한 부여를 요청하세요

tsx
<EmptyState
icon={<ShieldAlert size={24} />}
title="접근 권한이 없어요"
description="관리자에게 권한 부여를 요청하세요"
/>

사용 지침

  • · 로딩 중에는 EmptyState 가 아니라 Skeleton 을 쓴다.
  • · 오류는 오류 상태로 표현한다. EmptyState 는 정상적으로 비어 있는 상태다.
  • · 첫 데이터 화면에는 가능한 한 하나의 주요 action 만 둔다.

속성

이름타입기본값설명
iconReactNode-상단 아이콘
titleReactNode-빈 상태 제목
descriptionReactNode-보조 설명
actionReactNode-다음 행동 버튼/링크
classNamestring-폭·패딩 등 레이아웃 조절