next.js 正在从GetServerSideProps获取req和resolvedUrl的值为undefined

btxsgosb  于 2023-11-18  发布在  其他
关注(0)|答案(1)|浏览(96)

我使用的是next js版本“next”:“^12.1.4”,节点版本“@types/node”:“^14.14.6”,
我做了一个函数getServerSideProps,它有参数req和resolvedUrl,在第一次渲染页面时,我得到这些值为undefined,当我刷新页面时,它会得到这些值。
因为req和resolvedUrl都是/undefined/undefined/
所以我试着用这些值来应用条件,但它仍然不起作用。

fnx2tebb

fnx2tebb1#

req和resolvedUrl在getServerSideProps函数中未定义可能有多种原因。以下是一些可能的情况和解决方案:

  1. getServerSideProps用法不正确:getServerSideProps只能在页面组件中使用,不能在非页面组件中使用。如果你在非页面组件中使用getServerSideProps,它将无法在stackoverflow.com中工作。如果是这种情况,你应该将getServerSideProps移动到页面组件中。
// In your page's getServerSideProps function
    export async function getServerSideProps(context) {
      // Your logic here
    }

字符串
2. context参数处理不正确:getServerSideProps的context参数包含req和resolvedUrl属性。请确保正确访问这些属性nextjs.org

export async function getServerSideProps(context) {
      const { req, resolvedUrl } = context;
      // Your logic here
    }

相关问题