React

Next.jsでブログを作る #5 SEOとデプロイ (まとめ)
読了 11分

Next.jsでブログを作る #5 SEOとデプロイ (まとめ)

metadata APIで検索エンジン最適化を行い、sitemapとRSSを作って、Vercelにデプロイして実際にインターネットに公開します。シリーズとReactコンテンツ31編全体の振り返りでまとめます。

Next.jsでブログを作る #4 コメント (Server Actions)
読了 10分

Next.jsでブログを作る #4 コメント (Server Actions)

記事ごとにコメントを付けられるようにします。Server Actionsでフォーム送信と検証を処理し、useActionStateでUXを整えるパターンを実戦に適用します。

Next.jsでブログを作る #3 タグと検索
読了 8分

Next.jsでブログを作る #3 タグと検索

タグ別記事まとめページと、URLクエリパラメータで動作する検索機能を追加します。動的ルートの2つのパターン(generateStaticParams vs searchParams)が一度に登場します。

Next.jsでブログを作る #2 記事一覧と詳細ページ
読了 8分

Next.jsでブログを作る #2 記事一覧と詳細ページ

Server Componentでfsを使ってMDXファイルを直接読み、動的ルートで本文をコンパイルして画面に描く中核の流れを作ります。

Next.jsでブログを作る #1 開始と設計
読了 8分

Next.jsでブログを作る #1 開始と設計

モダンReactシリーズで学んだServer ComponentsとServer Actionsを実戦プロジェクトに適用してみます。最初の記事は要件、データモデル、フォルダ構造、MDXのセットアップまで。

モダンReact + Next.js #6 Server Actionsとフォーム (まとめ)
読了 12分

モダンReact + Next.js #6 Server Actionsとフォーム (まとめ)

Server Actionsでフォーム送信とサーバーデータの変更をシンプルに扱い、useActionState/useFormStatusでUXを整えるパターン、そしてシリーズの振り返りでまとめます。

モダンReact + Next.js #5 Suspenseとuse()によるローディング処理
読了 10分

モダンReact + Next.js #5 Suspenseとuse()によるローディング処理

準備された部分から段階的に表示するstreaming、Suspense境界、loading.js、そして新しく登場したuse()フックを扱います。

モダンReact + Next.js #4 データフェッチとキャッシング
読了 9分

モダンReact + Next.js #4 データフェッチとキャッシング

Server Componentでasync/awaitを使ってデータを直接取得するパターン、そしてNext.jsのキャッシング動作と再検証を見ていきます。

モダンReact + Next.js #3 Server Components vs Client Components
読了 10分

モダンReact + Next.js #3 Server Components vs Client Components

2種類のコンポーネントがどう違うのか、'use client'ディレクティブでどう境界を引くのか、そしてそれらをどう混ぜて使うのかを整理します。

モダンReact + Next.js #2 Next.jsの開始とApp Router
読了 9分

モダンReact + Next.js #2 Next.jsの開始とApp Router

Next.jsプロジェクトを作成し、App Routerのファイルベースルーティング、layoutシステム、ネストレイアウトを身につけます。

モダンReact + Next.js #1 なぜNext.jsとServer Componentsなのか
読了 8分

モダンReact + Next.js #1 なぜNext.jsとServer Componentsなのか

クライアントサイドReactの限界と、Server Componentsが解決する問題、CSR/SSR/RSCの違いを整理します。

ReactでTodoアプリを作る #5 永続化と締めくくり
読了 9分

ReactでTodoアプリを作る #5 永続化と締めくくり

localStorageでデータを永続化してリロードしても維持されるように仕上げます。シリーズ全体を振り返りながら次のステップも案内します。