NextJS generateMetadata未提供正确的参数

w41d8nur  于 9个月前  发布在  其他
关注(0)|答案(1)|浏览(81)

generateMetadata提供了params,就像它为页面提供的一样。我需要从我的CMS中获取元数据,使用这些参数中的langslug。它们总是未定义的,并回退到默认值。

export async function generateMetadata(params: { slug: string, lang: string }): Promise<Metadata> {
    const response = await fetchStrapiPageLayout(params.slug ?? '/', params.lang)
    return {
        title: response.seo_title,
        description: response.seo_description,
        keywords: response.seo_keywords,
    }
}

字符串
现在,最奇怪的部分是有一些控制台日志在那里。

我希望参数有正确的信息,但它没有发生

jw5wzhpr

jw5wzhpr1#

  • try/catch中写入dec逻辑,以便在出现错误时进行捕获
  • 此外,如果出现错误,则返回一些通用的内容
export async function generateMetadata(
  params: { slug: string, lang: string }): Promise<Metadata> {
try {
  const response = await fetchStrapiPageLayout(params.slug ?? '/', params.lang)

  return {
    title: response ? response.seo_title : "SetDefaultTitle",
    description: response?.seo_description,
    keywords: response.seo_keywords,
  };
} catch (e) {
  console.log(e);
  return {
    title: "Not Found",
    description: "The page you are looking for does not exist",
  };
}}

字符串

相关问题