toss/suspensive
React Suspense를 실제 애플리케이션에서 쓸 수 있도록 만드는 선언형 컴포넌트와 훅 모음
1,027+0이번 주0 찜
96포크18이슈
중간맛 분석
스택: React 18+, TypeScript / 난이도: 쉬움(기존 React 지식만 필요) / 바로 쓸 수 있음: 네, install 후 컴포넌트 import해서 즉시 사용 가능 / 핵심: ErrorBoundary(특정 에러만 잡기), ErrorBoundaryGroup(여러 바운더리 리셋), Suspense(clientOnly SSR 스킵), Delay(로딩 깜빡임 방지), SuspenseQuery(react-query 통합) 등의 컴포넌트 제공 / 데모: 문서 사이트 suspensive.org에서 인터랙티브 예제 확인 가능
이런 레포예요
이럴 때 쓰면 좋아요
- 로딩 중 깜빡이는 상태를 부드럽게 전환하는 UI 만들기
- 여러 데이터 페칭 컴포넌트의 에러를 한번에 리셋하는 기능 구현
- 서버 사이드 렌더링 환경에서 클라이언트 전용 컴포넌트만 안전하게 처리하기
핵심 기능
ErrorBoundary + shouldCatch로 특정 에러만 선택적 캐치ErrorBoundaryGroup으로 다중 바운더리 제어 및 일괄 리셋Suspense clientOnly로 SSR 바운더리 안전하게 스킵
대안 대비 차별점
react-error-boundary보다 더 세밀한 에러 필터링과 ErrorBoundaryGroup으로 prop drilling 없는 다중 제어가 가능하며, SSR 친화적인 clientOnly 옵션과 react-query 통합 패키지로 실전 애플리케이션의 실제 요구사항을 대부분 커버합니다.
바로 시작하기
- 패키지 설치
npm install @suspensive/react
- React 컴포넌트에서 Suspense와 ErrorBoundary import
import { Suspense, ErrorBoundary, ErrorBoundaryGroup, Delay } from '@suspensive/react'
- ErrorBoundaryGroup으로 감싸서 여러 에러 바운더리 관리
<ErrorBoundaryGroup>
<ErrorBoundaryGroup.Consumer>
{({ reset }) => <button onClick={reset}>Reset All</button>}
</ErrorBoundaryGroup.Consumer>
<ErrorBoundary>
<Suspense fallback={<div>Loading...</div>}>
<YourComponent />
</Suspense>
</ErrorBoundary>
</ErrorBoundaryGroup>
- 선택사항: react-query 통합을 위해 @suspensive/react-query 설치
npm install @suspensive/react-query
- 전체 문서는 https://suspensive.org 방문
별 추이 · 7일
1,027+0 / 7일
활용성 · 따라 만들기 좋은가
따라 하기 좋음샘플 점수 50/100
- 관대한 라이선스
- 테스트 있음
- 예제 디렉토리
- 최근 활동
- AGENTS.md
- llms.txt
- 템플릿
🟢 최근 활동 있음 · 2022년 생성
이 레포에 깃밥 배지 달기
[](https://www.gitbap.com/r/toss/suspensive)🔌 클로드에서 바로 써보기
깃밥을 클로드에 연결하면 이런 레포를 클로드·커서·Codex에서 바로 찾고 체험할 수 있어요.
방법 ① 커넥터 URL
클로드 설정 → 커넥터에 이 주소를 붙여넣기.
https://www.gitbap.com/api/mcp방법 ② 플러그인 (체험까지)
플러그인을 설치하면 /gitbap-trending·/gitbap-try 슬래시 커맨드로 레포를 그 자리에서 체험. Claude Code에서 아래 두 줄을 차례로 실행하세요.
/plugin marketplace add jakeparkcolde/gitbap-cowork/plugin install gitbap-cowork@gitbapAI가 README 기반으로 요약했습니다 · 원문 보기