我想知道最好的(如果可能的话)方法是做什么的:
例如,让我们想象一个包含两个列表的页面:所有系列和喜爱的系列。我通过此查询从服务器获得按照评级排序的那些列表:
query {
series {
id
name
rating
}
user {
id
name
favoriteSeries {
id
name
rating
}
}
}
现在,当用户将“所有系列”列表中的某个系列标记为收藏时,应将其从“所有”列表中删除,并添加到按其评级排序的“收藏”列表中。因此,当用户单击按钮时,突变发生,我必须使用变异的“更新”字段来处理缓存中的更改。我知道我应该使用readQuery
,writeQuery
,readFragment
和writeFragment
,但我无法确定哪个更适合此任务。
一方面,我可以使用readQuery
。在这种情况下,我可以轻松地从一个数组中删除一个系列并将其放入另一个数组中,但如果我在这里有分页并且查询道具发生变化怎么办?我应该使用什么查询来从缓存中获取所有数据?
另一方面,我可以使用readFragment
来获取我想通过其ID移动的确切系列。在这种情况下,我不知道如何将其关系更改为“所有”和“最喜欢”列表。此外,我不明白如何在两种情况下管理缓存顺序。