我有一个使用 Relay 的 NextJS 项目。我让它在开发中运行良好,但是当我构建时,它正在构建静态页面并尝试访问我的 GraphQL 服务器(在开发中它指向 https://localhost:3000/api/graphql),但我不'不想要它,因为它应该是一个动态页面。
这样,我似乎也无法让 SSR 与 Relay 一起工作,因为 Relay 中的许多功能都需要钩子,并且我们不能在非 React 组件中使用钩子(例如 getServerSideProps())。我在 getServerSideProps 中使用来自 Relay 的 loadQuery 但现在我的问题是我需要以某种方式获取 Relay 环境,但同样,也不能在其中使用 getRelayEnvironment() 。我从 createRelayEnvironment 文件导入它,但随后我没有使用我的应用程序的环境(RelayEnvironmentProvider 位于我的应用程序的根目录)。
有人在 NextJS 中成功使用 Relay 吗?
我不知道我是如何错过这一点的,但我遵循了GitHub 上的NextJS 使用 Relay Modern 的示例。
我没有做同样的事情 - 例如,我没有 .babelrc 文件,因为该信息位于 next.config.js 文件中(感谢NextJS 12.1)。
我在这里真正使用的是他们如何在relay.js 文件中启动和使用relay 。然后我在页面的函数中使用它,getServerSideProps就像他们在index.js 文件中所做的那样。
| 归档时间: |
|
| 查看次数: |
2209 次 |
| 最近记录: |