コンテンツにスキップ

Invalid value for getStaticPaths route parameter.

GetStaticPathsInvalidRouteParam: KEYに対するgetStaticPathsのルートパラメーターが無効です。undefined、文字列、または数値が必要ですが、VALUE_TYPEVALUE)が渡されました。

何が問題か?

paramsはURLにエンコードされるため、値としてサポートされているのは特定の型のみです。

/route/[id].astro
---
export async function getStaticPaths() {
return [
{ params: { id: '1' } } // 動作します
{ params: { id: 2 } } // 動作します
{ params: { id: false } } // 動作しません
];
}
---

レストパラメーターを使用するルートでは、URLにパラメーターが渡されないパスをundefinedにより表わすことができます。

/route/[...id].astro
---
export async function getStaticPaths() {
return [
{ params: { id: 1 } } // /route/1
{ params: { id: 2 } } // /route/2
{ params: { id: undefined } } // /route/
];
}
---

以下も参照してください: