gpt4 book ai didi

graphql - Apollo 客户端中 `writeQuery` 和 `writeData` 的区别?

转载 作者:行者123 更新时间:2023-12-03 18:44:37 27 4
gpt4 key购买 nike

根据本地状态管理的 docs,可以同时使用 writeDatawriteQuery 将数据附加到缓存中。

这里的最佳做法是什么?什么时候一个?

最佳答案

来自 the documentation :

To write the data to the cache, you can use either cache.writeQuery or cache.writeData. The only difference between the two is that cache.writeQuery requires that you pass in a query to validate that the shape of the data you're writing to the cache is the same as the shape of the data required by the query. Under the hood, cache.writeData automatically constructs a query from the data object you pass in and calls cache.writeQuery.



唯一的区别是:你是构造传递的查询(通过直接调用 cache.writeQuery ),还是让 Apollo 处理它(通过调用 cache.writeData )?

从 GitHub 上 cache.writeDatathe source 来看,Apollo 似乎会对你提供的数据进行一些分析,以确定使用它的最佳方式,而 cache.writeQuery 会直接接受你传递的查询并使用它。

所以,总结一下:
cache.writeQuery
  • 优点:可能更快,提供数据形状验证
  • 缺点:您必须自己提供查询
  • cache.writeData
  • 优点:您让 Apollo 处理构建查询
  • 缺点:可能更慢,没有数据形状验证
  • 关于graphql - Apollo 客户端中 `writeQuery` 和 `writeData` 的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58843960/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com