reactjs - 在 getInitialProps 中找不到 isServer
问题描述
我正在getInitialProps
使用next.js
这是我的代码:
static getInitialProps( ctx ) {
console.log(ctx.isServer);
return{}
}
为什么我找不到isServer
?
解决方案
根据文档
getInitialProps
接收具有以下属性的上下文对象:
pathname
- URL 的路径部分query
- URL 的查询字符串部分被解析为对象asPath
- 浏览器中显示的实际路径字符串(包括查询)req
- HTTP 请求对象(仅限服务器)res
- HTTP 响应对象(仅限服务器)jsonPageRes
- 获取响应对象(仅限客户端)err
- 如果在渲染过程中遇到任何错误,则为错误对象
所以最简单的方法来检查它是否是一个服务器来检查 req 对象。
例子
static async getInitialProps({ req }) {
const isServer = !!req;
return {}
}
这是 next.js 维护人员对isServer 属性所说的内容
希望这有帮助!
推荐阅读
- aws-lambda - 使用无服务器框架和 aws lambda 的带有 aws codepipeline 的 Bitbucket CI/CD 管道获得成功,但不创建 lambda 函数
- c++ - MediaPipe Hands Linux - 程序在尝试获取地标包后冻结
- spring-security - Vault 错误:更正应用程序的类路径,以便包含一个兼容的 org.springframework.vault.support.SslConfiguration 版本
- haskell - 从元组列表中获取函数
- c++ - 这个 C++ 中的主动对象模式示例有什么问题?
- r - 通过比较 R 中的其他两列来选择组
- graphql - 在 GraphQL 中对 Join 表进行批量更新的最佳方法是什么?
- reactjs - 如何加快组件和类的 npm 库的 webpack 重建
- r - 在 Windows [rstudio] [r] [windows] 中使用 R(或特别是 R Studio)在指定文件夹中打开文件资源管理器
- c - 为什么在 http 服务器中需要异步?