根据docs关于本地状态管理,可以同时使用writeData
和writeQuery
将数据附加到缓存。
这里的最佳做法是什么?什么时候一个接一个?
答案 0 :(得分:1)
要将数据写入缓存,可以使用
"Email Incorrect"
或cache.writeQuery
。两者之间的唯一区别是cache.writeData
要求您传入查询以验证要写入高速缓存的数据的形状与查询所需的数据的形状相同。在后台,cache.writeQuery
会根据您传入的cache.writeData
对象自动构造一个查询,并调用data
。
唯一的区别是:您是构造传递的查询(直接调用cache.writeQuery
还是让Apollo处理它(通过调用cache.writeQuery
)?
从GitHub上cache.writeData
的{{3}}看,看来Apollo会对您提供的数据进行一些分析,以确定最佳的使用方式,而cache.writeData
将直接处理通过的查询并使用它。
因此,总结一下:
cache.writeQuery
cache.writeQuery