首页 > 解决方案 > 在 getInitialProps 中找不到 isServer

问题描述

我正在getInitialProps使用next.js

这是我的代码:

  static getInitialProps( ctx ) {

    console.log(ctx.isServer);
    return{}

}

为什么我找不到isServer

标签: reactjsnext.js

解决方案


根据文档

getInitialProps接收具有以下属性的上下文对象:

  • pathname- URL 的路径部分
  • query- URL 的查询字符串部分被解析为对象
  • asPath- 浏览器中显示的实际路径字符串(包括查询)
  • req- HTTP 请求对象(仅限服务器)
  • res- HTTP 响应对象(仅限服务器)
  • jsonPageRes- 获取响应对象(仅限客户端)
  • err- 如果在渲染过程中遇到任何错误,则为错误对象

所以最简单的方法来检查它是否是一个服务器来检查 req 对象。

例子

static async getInitialProps({ req }) {
  const isServer = !!req;
  return {}
}

这是 next.js 维护人员对isServer 属性所说的内容

希望这有帮助!


推荐阅读