Next.js 15 入門ガイド
開発チーム2分で読めます
Next.js 15 を使用したモダンな Web アプリケーション構築の包括的なガイド。App Router、サーバーコンポーネント、ベストプラクティスをカバーします。
Next.js 15 入門ガイド
Next.js 15 はエキサイティングな新機能と改善をもたらします。この強力なフレームワークでモダンな Web アプリケーションを構築する方法を探りましょう。
なぜ Next.js なのか?
Next.js は以下を提供する React フレームワークです:
| 機能 | 説明 |
|---|---|
| サーバーコンポーネント | より良いパフォーマンスのためにサーバーでコンポーネントをレンダリング |
| App Router | レイアウトとネストされたルートをサポートするファイルベースのルーティング |
| 静的生成 | ビルド時にページをプリレンダリング |
| API ルート | アプリ内で API エンドポイントを構築 |
プロジェクトのセットアップ
新しい Next.js プロジェクトを作成:
npx create-next-app@latest my-app
cd my-app
npm run dev
App Router の構造
App Router はファイルシステムベースのルーターを使用します:
app/
├── layout.tsx # ルートレイアウト
├── page.tsx # ホームページ
├── about/
│ └── page.tsx # アバウトページ
└── blog/
├── page.tsx # ブログ一覧
└── [slug]/
└── page.tsx # ブログ記事
サーバーコンポーネント
デフォルトでは、App Router のすべてのコンポーネントはサーバーコンポーネントです:
// これはサーバーで実行されます
async function BlogPosts() {
const posts = await fetch('https://api.example.com/posts')
const data = await posts.json()
return (
<ul>
{data.map((post: { id: string; title: string }) => (
<li key={post.id}>{post.title}</li>
))}
</ul>
)
}
クライアントコンポーネント
インタラクティブ性のために、'use client' ディレクティブを使用:
'use client'
import { useState } from 'react'
export function LikeButton() {
const [likes, setLikes] = useState(0)
return (
<button onClick={() => setLikes(likes + 1)}>
❤️ {likes} いいね
</button>
)
}
データフェッチング
Next.js 15 はデータフェッチングを簡素化します:
async function Page() {
// この fetch は自動的にキャッシュされます
const res = await fetch('https://api.example.com/data')
const data = await res.json()
return <div>{data.title}</div>
}
ベストプラクティス
- 可能な限りサーバーコンポーネントを使用 してパフォーマンスを向上
- クライアントサイド JavaScript を最小化 してインタラクティブ性を分離
- キャッシュを活用 して適切な fetch 設定を行う
- ローディング状態を実装 して
loading.tsxファイルを使用 - エラーを優雅に処理 して
error.tsxバウンダリを使用
結論
Next.js 15 はモダンな Web アプリケーションを構築するための強力な基盤を提供します。探索を始めて、素晴らしいものを構築しましょう!
ハッピーコーディング!🚀