generateImageMetadata
generateImageMetadata
を使用すると、1つの画像の異なるバージョンを生成したり、1つのルートセグメントに対して複数の画像を返したりできます。これは、アイコンのようなメタデータ値をハードコーディングしたくない場合に便利です。
パラメータ
generateImageMetadata
関数は以下のパラメータを受け取ります:
params
(オプション)
generateImageMetadata
が呼び出されたセグメントまでの動的ルートパラメータオブジェクトを含むオブジェクトです。
ルート | URL | params |
---|---|---|
app/shop/icon.js | /shop | undefined |
app/shop/[slug]/icon.js | /shop/1 | { slug: '1' } |
app/shop/[tag]/[item]/icon.js | /shop/1/2 | { tag: '1', item: '2' } |
戻り値
generateImageMetadata
関数は、画像のメタデータ(alt
やsize
など)を含むオブジェクトの配列
を返す必要があります。さらに、各アイテムには、画像生成関数のpropsに渡されるid
値を必ず含める必要があります。
画像メタデータオブジェクト | 型 |
---|---|
id | string (必須) |
alt | string |
size | { width: number; height: number } |
contentType | string |
例
外部データの使用
この例では、params
オブジェクトと外部データを使用して、ルートセグメントに対して複数のOpen Graph画像を生成しています。
バージョン履歴
バージョン | 変更内容 |
---|---|
v13.3.0 | generateImageMetadata が導入されました。 |