ブログに戻る

Thursday, September 5, 2024

Next.jsでReact Server ComponentsとServer Actionsを使用する

cover

はじめに: React Server ComponentsでNext.jsを強化する

Next.jsは、React Server ComponentsやServer Actionsなどの強力な機能を含むように進化し、サーバーサイドレンダリングとロジックを処理する新しい方法を提供しています。これらの機能は、Webアプリケーションを構築するためのより効率的で合理化されたアプローチを提供し、パフォーマンスを損なうことなく、サーバー上でデータを取得してコンポーネントをレンダリングできます。

React Server Componentsとは?

React Server Componentsは、サーバー上で実行されるコンポーネントで、クライアントに送信されるJavaScriptバンドルのサイズを削減し、初期ページロード時間を改善します。

主な利点

  1. バンドルサイズの削減: サーバーコンポーネントはクライアントバンドルに含まれません
  2. データフェッチの最適化: サーバー上で直接データベースやAPIにアクセス可能
  3. SEOの向上: サーバーサイドレンダリングによりSEOが改善されます

Server Actionsの活用

Server Actionsは、サーバー上で実行される関数で、フォームの送信やデータの更新などの操作を処理できます。

'use server'

export async function createPost(formData: FormData) {
  const title = formData.get('title') as string
  const content = formData.get('content') as string
  
  // データベースに保存
  await db.post.create({
    data: { title, content }
  })
  
  revalidatePath('/posts')
}

まとめ

React Server ComponentsとServer Actionsは、Next.jsアプリケーションのパフォーマンスと開発体験を大幅に向上させる革新的な機能です。これらを適切に活用することで、より高速で効率的なWebアプリケーションを構築できます。