ハンバーガーメニュー

Menu

← Quiz 一覧に戻る

Metadata

Next.jsのMetadata APIにおける「静的metadataオブジェクト」と「generateMetadata関数(動的metadata)」の役割の違いを、どのような場面でどちらを使うべきかを含めて説明してください。

🟢 基本⭐ Familiar1回出題済み記事を読む →

模範解答

静的metadataオブジェクトは、ビルド時に内容が確定しているタイトルや説明文などを、そのままレイアウトやページからエクスポートして使うための仕組みです。一方generateMetadata関数は、ルートパラメータや外部データ取得などに基づいてリクエストごとに変化しうるタイトルや説明を動的に生成するために使用します。データに依存しない共通の情報には静的metadataを、ブログ記事詳細のようにパラメータやフェッチ結果に応じて変わる情報にはgenerateMetadataを使うのが適しています。

🔑 静的と動的の2種類のメタデータAPIがあり、それぞれの適用場面が明確に分かれていることを理解しているか。


回答履歴 (1回)

#1   2026.03.12正解 (4/5)

あなたの回答

その名の通り静的か動的かで使い分ける。 metadataオブジェクトはデータなどに依存せずに固定された情報を追加する場合に利用する。 genarateMetadataはssrやssgなどで動的なデータを元に設定したい場合に利用する。ブログの記事タイトル、カスタムのOGPなど。 ssgは静的だが、生成時点で動的に設定すると言う点でこちらを利用する。

フィードバック

静的metadataオブジェクトを「データに依存しない固定情報」、generateMetadataを「動的なデータを元に設定する場合」と整理できており、模範解答の意図と概ね一致しています。特に、ブログ記事タイトルやOGPのようにパラメータやフェッチ結果に応じて変わる情報にgenerateMetadataを使うという点は適切です。一方で、どのような画面・ルートで静的metadataを使い、どのような場合にgenerateMetadataを使うのかを、もう少し明示的に整理するとより明確な回答になります。