Sonner
사용자에게 알림을 표시하는 토스트
Basic Usage
다양한 타입의 토스트 알림을 표시할 수 있습니다.
tsx
import { toast } from 'sonner';
toast('기본 메시지입니다');
toast.success('성공적으로 완료되었습니다');
toast.error('오류가 발생했습니다');
toast.warning('주의가 필요합니다');
toast.info('참고 정보입니다');With Description
제목과 함께 상세 설명을 추가할 수 있습니다.
tsx
toast('이벤트가 생성되었습니다', {
description: '2024년 1월 1일 오전 9시',
});With Action
토스트에 액션 버튼을 추가할 수 있습니다.
tsx
toast('파일이 삭제되었습니다', {
action: {
label: '실행 취소',
onClick: () => toast.success('삭제가 취소되었습니다'),
},
});Loading State
로딩 상태와 함께 Promise를 처리할 수 있습니다.
tsx
toast.promise(fetchData(), {
loading: '데이터 로딩 중...',
success: '데이터 로딩 완료!',
error: '데이터 로딩 실패',
});Usage
tsx
import { Toaster } from '@gpters-internal/ui';
import { toast } from 'sonner';
// 앱 최상위에 Toaster 추가
function App() {
return (
<>
<Toaster />
{/* 앱 컨텐츠 */}
</>
);
}
// 어디서든 toast 호출
function MyComponent() {
return (
<button onClick={() => toast.success('저장되었습니다!')}>
저장
</button>
);
}