【问题标题】:Next JS: Server Side Rendering ~ Params UndefinedNext JS: 服务器端渲染 ~ Params Undefined
【发布时间】:2021-11-20 18:40:04
【问题描述】:

我正在开发一个 SSR(Next JS 应用程序)。 我的路线是http://127.0.0.1:3000/[pid] 示例路由是http://127.0.0.1:3000/test-1

在我的 getServerSideProps 中,我正在打印参数并且它返回未定义。我不知道为什么。我应该打印'test-1'

忽略我主要关心的是这里的参数的其余功能

谢谢

export async function getServerSideProps (context) {
const { params } = context;
console.log("PARAMS: ", params)

const pid= 'test-1'
const result = await api.getTenantInfo('test-1');
const data = await result.data;

return {
props: {
      tenants: data,
      pid
},
  }
 }

我在 API 中硬编码的数据应该由 context.params 检索

【问题讨论】:

  • 没有其他信息,我认为这是一个应该与项目一起提交的错误。我不认为它可能是一个错误,所以我建议添加更多细节。文件名是什么等
  • 我正在通过后端获取数据,有一些 api 调用让我编辑问题以使其更清晰。
  • 是的,你在那里遗漏了大量信息,什么返回了等待 jobdetails 的承诺,我猜你正在等待 axios 承诺,所以你需要等待 result.data跨度>
  • 但是为什么我的参数是未定义的?我知道我的 API 调用不完整。我在没有使用它之前编辑了这个问题。我主要关心的是参数。它们是未定义的。

标签: javascript reactjs next.js server-side-rendering


【解决方案1】:

所以问题出在我的 next.config.js 文件上。因为我在做服务器端渲染,所以我不必向我的配置文件提供 exportPathMap。删除后它工作正常。

const withImages = require('next-images')
module.exports = withImages()

module.exports = withImages({
  images: {
    loader: "imgix",
    path: "",
   },
})

以上是我的nest.config.js 文件,供遇到同样问题的人参考。

【讨论】:

    猜你喜欢
    • 2021-03-30
    • 1970-01-01
    • 1970-01-01
    • 2019-04-07
    • 2021-10-30
    • 1970-01-01
    • 2020-07-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多