首页 > 解决方案 > Apollo 客户端缓存和 Next.js

问题描述

每个人!

我使用 Next.js 和getStaticProps函数来获取服务器端的数据。它可以很好地获取数据,但有一个例外。

Can't find field '<field>' on ROOT_QUERY object执行功能后我收到错误client.readQuery({ query: QUERY })

当我在client.cache.data.data客户端查看时,我注意到我试图从缓存中获取并且在服务器端获取的字段不在它附近,ROOT_QUERY而是在它附近(红色)。

在 ROOT_QUERY 中,我只能看到在客户端获取的字段(绿色)。在此处输入图像描述

但是在服务器端,所有字段都在ROOT_QUERY在此处输入图像描述.

当然,我可以通过 props 传递获取的数据并使用它们,但我想改用缓存。

如果有人遇到这种情况,我想得到如何处理的建议。谢谢。

这是我的 apollo 客户端配置。

标签: reactjsnext.jsserver-side-renderingapollo-clientapollo-cache-inmemory

解决方案


抱歉,我错过initialApolloState了 _app.tsx。

在此处输入图像描述

而在getStaticProps()

在此处输入图像描述


推荐阅读