toss/suspensive

React Suspense를 실제 애플리케이션에서 쓸 수 있도록 만드는 선언형 컴포넌트와 훅 모음

개발 재료맘대로 써도 됨 · MIT웹·Next.js·풀스택TypeScript난이도
1,027+0이번 주0
96포크18이슈
데모·홈페이지 열기suspensive.org

중간맛 분석

스택: 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 통합 패키지로 실전 애플리케이션의 실제 요구사항을 대부분 커버합니다.

바로 시작하기

  1. 패키지 설치
npm install @suspensive/react
  1. React 컴포넌트에서 Suspense와 ErrorBoundary import
import { Suspense, ErrorBoundary, ErrorBoundaryGroup, Delay } from '@suspensive/react'
  1. ErrorBoundaryGroup으로 감싸서 여러 에러 바운더리 관리
<ErrorBoundaryGroup>
  <ErrorBoundaryGroup.Consumer>
    {({ reset }) => <button onClick={reset}>Reset All</button>}
  </ErrorBoundaryGroup.Consumer>
  <ErrorBoundary>
    <Suspense fallback={<div>Loading...</div>}>
      <YourComponent />
    </Suspense>
  </ErrorBoundary>
</ErrorBoundaryGroup>
  1. 선택사항: react-query 통합을 위해 @suspensive/react-query 설치
npm install @suspensive/react-query
  1. 전체 문서는 https://suspensive.org 방문

별 추이 · 7일

1,027+0 / 7일

활용성 · 따라 만들기 좋은가

따라 하기 좋음샘플 점수 50/100
  • 관대한 라이선스
  • 테스트 있음
  • 예제 디렉토리
  • 최근 활동
  • AGENTS.md
  • llms.txt
  • 템플릿

🟢 최근 활동 있음 · 2022년 생성

이 레포에 깃밥 배지 달기

[![깃밥](https://www.gitbap.com/badge/toss/suspensive.svg)](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@gitbap
연결 방법 자세히 →

AI가 README 기반으로 요약했습니다 · 원문 보기