首页 > 解决方案 > 为什么 getStaticProps 没有得到正确的 slug?

问题描述

我在 getStaticProps() 中获取正确的 slug 时遇到问题。我正在尝试为该页面翻译 slug(例如:关于页面)

getStaticPaths() 生成正确的对象。这些参数来自 DatoCMS API

 [
  { params: { slug: 'about-us' }, locale: 'en' },
  { params: { slug: 'ueber-uns' }, locale: 'de' },
  ...  
]

但是,当我在德语页面 ( www.exmaple.com/de/ueber-uns ) 上时,getStaticProps 给出的上下文如下。

{
  params: { slug: 'about-us' }, // it should be `ueber-uns` or ?
  locales: [ 'en', 'de' ],
  locale: 'de', // this is correct 
  defaultLocale: 'en'
}

我正在关注这里的文档-> https://nextjs.org/docs/advanced-features/i18n-routing#dynamic-getstaticprops-pages

标签: javascriptreactjsnext.js

解决方案


getStaticPaths方法仅定义在构建期间应静态生成哪些“页面”。恕我直言,您的问题将是错误的getStaticProps实施。

你能给我们提供你的getStaticProps实施吗?


推荐阅读