React、Vue、Svelte、Solid向けのバインディングを備えた、Webアプリ用の非同期状態管理・データ取得ライブラリ。
vercel/swr
キャッシュデータを先に返し、バックグラウンドで再検証するデータ取得用React Hooksライブラリ。
- スター
- 32,496
- フォーク
- 1,401
- 未解決の Issue
- 241
- 最終コミット
- 5 日前
これは何?
SWRは、データ取得用のReact Hooksライブラリです。名前は、HTTP RFC 5861で定義されているキャッシュ戦略「stale-while-revalidate」に由来します。フックはまずキャッシュ済みの古いデータを返し、再検証のリクエストを送信してから、最新の結果でコンポーネントを更新します。
`useSWR`という単一のフックに、キー(通常はAPI URL)とfetcher関数を渡して使います。フックは`data`、`error`、`isLoading`を返し、データが変わるとコンポーネントが再レンダリングされます。fetcherには任意の非同期関数を指定できるため、データ取得には好みのライブラリを利用できます。
リクエストの重複排除に対応した組み込みキャッシュ、フォーカス時やネットワーク復旧時の再検証、ポーリング、ページネーション用ヘルパー、SSRとSSGのサポート、楽観的なローカルミューテーション、エラー時の再試行、TypeScriptの型、React Suspenseのサポートを備えています。React Nativeにも対応しています。
主な機能
- 01リクエストの重複排除に対応した組み込みキャッシュ
- 02フォーカス時やネットワーク復旧時に再検証
- 03ポーリングとリアルタイムのデータ更新
- 04UIを即座に更新する楽観的なローカルミューテーション
- 05SSR、SSG、TypeScript、React Suspenseに対応
ユースケース
- ReactやNext.jsアプリでのAPIデータの取得とキャッシュ
- ポーリングや再検証によるダッシュボードやフィードの最新状態の維持
- フォームや編集画面での楽観的UIの構築
- React Nativeアプリの複数コンポーネント間でのデータ共有
トピック
よくある質問
- swr とは?
- キャッシュデータを先に返し、バックグラウンドで再検証するデータ取得用React Hooksライブラリ。 SWRは、データ取得用のReact Hooksライブラリです。名前は、HTTP RFC 5861で定義されているキャッシュ戦略「stale-while-revalidate」に由来します。フックはまずキャッシュ済みの古いデータを返し、再検証のリクエストを送信してから、最新の結果でコンポーネントを更新します。
- swr は無料で使えますか?ライセンスは?
- swr は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- swr は今もメンテナンスされていますか?
- 活発にメンテナンス中。swr の最終コミットは 2026年10月16日 です。
- swr は何に使えますか?
- ReactやNext.jsアプリでのAPIデータの取得とキャッシュ ポーリングや再検証によるダッシュボードやフィードの最新状態の維持 フォームや編集画面での楽観的UIの構築 React Nativeアプリの複数コンポーネント間でのデータ共有
- swr はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/vercel/swr
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
WebやReact Native向けに、状態管理とバリデーションを備えた高パフォーマンスなフォームを構築するReact Hooksライブラリ。
Next.js、Astro、ViteベースのReactフレームワークに対応した、React.jsでドキュメントサイトを構築するためのフレームワーク。
TypeScriptバックエンドとカスタマイズ可能なReact管理画面を備えた、Next.jsネイティブのオープンソースヘッドレスCMS・アプリケーションフレームワーク。
React Nativeアプリの開発に役立つライブラリ、ツール、ニュース、学習リソースを厳選したリスト。
React NativeとWebアプリ向けのルーティング・ナビゲーションライブラリ。Reactコンポーネントでスタック、タブ、ドロワーのナビゲーターを構築できます。