ページ内ナビ
概要
SWRは、React向けのデータ取得Hookライブラリです。stale-while-revalidateの考え方でキャッシュ済みデータを先に返し、その後に再検証して最新データへ更新します。キャッシュ、request重複排除、focus復帰時の再検証、polling、pagination、optimistic updateなどを同じ仕組みで扱えます。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
向いている用途
React画面でAPI dataのcacheと更新制御を共通化したい場合に向く
profile、dashboard、一覧・詳細画面など、同じremote dataを複数componentから参照し、loading・error・再取得を統一したいReact applicationに向きます。
出典:[2]
導入前の確認
keyとfetcherの責務を明確にする
SWR自体がAPI clientを固定するのではなく、fetcherはapplication側が用意します。keyはrequestの一意な識別子としてcacheにも使われるため、parameterを含むrequestでは同じdataを同じkeyで表せるよう設計します。
出典:[2]
参考にした公式資料
- [1]vercel/swr repository(2026-09-30)
- [2]SWR v2.5.1 README(2026-09-30)
- [3]SWR v2.5.1 package metadata(2026-09-30)
- [4]SWR v2.5.1 release(2026-09-30)
- [5]SWR MIT license(2026-09-30)
- [6]SWR main package metadata(2026-09-30)
編集部からの補足
同じAPI dataを複数画面で扱うとき、cacheと再取得条件をcomponentごとに書かずに揃えられるのが利点です。key設計がcache identityになるため、parameter付きrequestではkeyの一意性を先に決めておくと運用しやすくなります。
3ステップで試す
- 1
SWR 2.5.1を追加
最新安定版をversion固定でReact projectへ追加します。
npm install swr@2.5.1 - 2
fetcherを用意
SWRはHTTP clientを固定しないため、keyを受け取ってPromiseを返すfetcherをapplication側で用意します。
const fetcher = (url) => fetch(url).then((res) => res.json()); - 3
useSWRでdataを取得
import useSWR from 'swr'; の後でrequest keyとfetcherを渡し、data・loading・errorの状態を確認します。
const { data, error, isLoading } = useSWR('/api/user', fetcher);
成長
成長の推移 · 直近30日
32,494 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 4
- Open PR
- 77
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
GitHubのデータGitHubの詳細データを見る
GitHub Topics
- react
- hook
- data-fetching
- swr
- suspense
- react-native
- fetch
- vercel
- stale-while-revalidate
- hooks
- nextjs
- data
- Stars
- 32,494
- Forks
- 1,384
- Watchers
- 216
- Open Issues
- 149
- Contributors
- 198
- 所有者種別
- Organization
- 主要言語
- TypeScript
- ライセンス
- MIT
- リポジトリ最終更新
- 2026/09/22
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Medusa36,513 Stars
共通タグ 3件 · 同じ言語
commerce module・workflow・Store/Admin APIを組み合わせ、独自業務へ拡張するTypeScript commerce platform
TypeScript - Stripe Node.js Library4,521 Stars
共通タグ 2件 · 共通カテゴリ 2件 · 同じ言語
server-side JavaScript/TypeScriptからStripe APIをtyped resourceとretry/webhook helper付きで呼び出すofficial SDK
TypeScript - Firecrawl186,649 Stars
共通タグ 2件 · 共通カテゴリ 1件 · 同じ言語
Web検索・scrape・crawl・browser interactionをLLM-ready dataへ変換するAPI
TypeScript - shadcn/ui124,865 Stars
共通タグ 2件 · 共通カテゴリ 1件 · 同じ言語
コンポーネントのソースをプロジェクトへ取り込み、自分のUIライブラリとして育てる
TypeScript - Supabase110,871 Stars
共通タグ 2件 · 共通カテゴリ 1件 · 同じ言語
Postgresを中心にAuth・REST/GraphQL API・Realtime・Storage・Functionsを統合するdevelopment platform
TypeScript - Tailwind CSS97,733 Stars
共通タグ 2件 · 共通カテゴリ 1件 · 同じ言語
ユーティリティクラスをHTMLやコンポーネントで組み合わせ、必要なCSSをビルド時に生成する
TypeScript
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。