Repolode
vercel

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 の数値は毎日更新されます。

関連プロジェクト