先に要点
- Server Actions は Next.js / React 19 の機能で、サーバで実行される関数をクライアントから直接呼べる 仕組み。「use server」 ディレクティブを付けた関数が対象。
- 典型は フォームの 「action」 属性に直接サーバ関数を渡す 書き方。「
- JavaScript 無効でも動く(プログレッシブエンハンスメント)、「 revalidatePath / revalidateTag」 でキャッシュ無効化が自然、「 useFormStatus / useOptimistic」 で 「送信中」 「楽観的更新」 を素直に書ける。
- 使いどころは 「 フォーム送信 / CRUD」 が中心。tRPC や RSC の 「データ取得」 と棲み分け、「書く方は Server Actions、読む方は RSC」 が App Router の標準スタイル。
Server Actions って結局何ができるの? API Routes と何が違うの? 「
参考リンク
- Next.js: Server Actions
- React: 「use server」 reference
- React: 「useActionState」
- React: 「useFormStatus」
- React: 「useOptimistic」
- Next.js Blog: App Router data flow