如何解决在服务器端获取数据后更新 Apollo 缓存
我花了 4 天时间试图让 Apollo 与我的 Next.js 应用程序一起工作 - 看起来遇到了一个巨大的困境。
这是 React SPA 的一个非常清晰易懂的 example。这就是我们使用突变钩子更新缓存的方式。
突变钩子与“todos”字段一起工作。摘录如下:
fields: {
todos(existingTodos = []) {
这意味着之前已进行过查询。数据是通过客户端的 GraphQL 查询获取的。并且 todos 数据已缓存为 "todos" 集合(或字段)。
因此,使用 React SPA 更新缓存是微不足道的。而且工作简单明了。
困境
在我的 Next.js 应用程序中,我使用 getServerSideProps()
方法在服务器端获取数据。获取的数据作为道具进一步传递给页面组件。
当我在客户端执行变更时——它是一个不同的浏览器内的 Apollo Client 实例,它没有缓存数据。因为该数据是使用服务器端实例获取的。
如果无法从客户端(浏览器)访问 Apollo 服务器端缓存 - 有人可以推荐一种如何使用 Next.js 处理 Apollo 的解决方法吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。