React Suspense・Error Boundary・SSR対応をシンプルな宣言的コンポーネントで実現するライブラリです。
中辛 の解説
TypeScript製のReact用ライブラリで、複数パッケージから構成されています。@suspensive/reactは基本的なSuspense・ErrorBoundary・Delayコンポーネント、@suspensive/react-queryはReact Queryとの統合、@suspensive/jotaiはJotai状態管理との連携を提供します。難易度は低〜中程度で、既存React プロジェクトへの導入が容易です。デモ・ドキュメントはsuspensive.orgで公開されており、すぐに試せます。
이런 레포예요
이럴 때 쓰면 좋아요
- 複数フェッチの処理エラーを一括管理し、リトライボタンで統一的にリセットしたいとき
- ローディング中の画面ちらつきを回避して、スムーズなフェードイン表示を実現したいとき
- サーバーサイドレンダリングとクライアントハイドレーション時に異なるUI(サーバー側ではローディング、クライアント側では本体)を出し分けたいとき
핵심 기능
대안 대비 차별점
React公式のError Boundary・Suspense APIの仕様ギャップを埋める実用的なコンポーネント設計により、型安全で本番アプリにすぐ適用できます。
食べた人たち
実際に使ってみた人の記録です — 一言も完走の記録も、確認のうえで公開しています。
このリポジトリの作り方
はじめてですか? むずかしくありません — 上から順にたどれば、自分の環境で動かして味見できます。
준비물
- React 16.8以上
すぐ動かしてみるNode.js (pnpm)
ギット飯がリポジトリの構成を確認して組み立てた実行コマンドです。ターミナルに貼り付ければ、取得から実行までまとめて進みます。
git clone --depth 1 https://github.com/toss/suspensive.git && cd suspensive && pnpm install && pnpm run dev
コードは自分の環境で動きます — はじめて見るリポジトリなら、中身にひととおり目を通してから実行するのがおすすめです。
README가 안내하는 자세한 단계 보기
- Suspensiveをインストールします。
npm install @suspensive/react
- ErrorBoundary・Suspense・Delayコンポーネントをインポートして使用します。
import { Delay, ErrorBoundary, ErrorBoundaryGroup, Suspense } from '@suspensive/react'
const Page = () => (
<ErrorBoundaryGroup>
<ErrorBoundaryGroup.Consumer>
{({ reset }) => <button onClick={reset}>Reset All</button>}
</ErrorBoundaryGroup.Consumer>
<ErrorBoundary
shouldCatch={NetworkError}
fallback={({ error, reset }) => <ErrorUI error={error} onRetry={reset} />}
>
<Suspense
clientOnly
fallback={
<Delay ms={200}>
{({ isDelayed }) => <Spinner style={{ opacity: isDelayed ? 1 : 0, transition: 'opacity 200ms' }} />}
</Delay>
}
>
<Content />
</Suspense>
</ErrorBoundary>
</ErrorBoundaryGroup>
)
- 詳細なドキュメントはsuspensive.orgを参照してください。
ギット飯トライで味見
入れるのが面倒で少し不安だったなら — 安全スキャンからインストールまで、ターミナル一行で終わります。
ターミナルに貼り付ければ、ギット飯の安全スキャン → 隔離フォルダへ clone → インストール → 実行方法の案内まで自動です。はじめてでも大丈夫 — この一行だけです。
npx gitbap-try toss/suspensive
Node.js さえあれば、インストールなしで動きます · ギット飯トライとは? →
スター推移 · 7日
使いやすさ · まねしやすいか
- ゆるいライセンス
- テストあり
- サンプル集
- 最近の更新
- AGENTS.md
- llms.txt
- テンプレート
最近の更新あり · 2022 年に作成
「웹·Next.js·풀스택」 こういうリポジトリを毎週受け取りませんか?
毎週月曜の朝、選んだ一膳だけ。広告なし · いつでも解除。
自分のリポジトリですか? README にギット飯バッジを貼る
[](https://www.gitbap.com/r/toss/suspensive)Claude からそのまま使う — ギット飯のつなぎ方
ギット飯を Claude につなぐと、こうしたリポジトリを Claude・Cursor・Codex から直接さがして試せます。
Claude の設定 → コネクタにこのアドレスを貼り付け。
https://www.gitbap.com/api/mcpプラグインを入れると /gitbap-trending·/gitbap-try のスラッシュコマンドで、その場でリポジトリを試せます。Claude Code で下の 2 行を順に実行してください。
/plugin marketplace add jakeparkcolde/gitbap-cowork/plugin install gitbap-cowork@gitbapAI が README をもとに要約しました · 原文を見る