如何处理在删除反应阿波罗

问题描述:

我有一个像如何处理在删除反应阿波罗

mutation deleteRecord($id: ID) { 
    deleteRecord(id: $id) { 
     id 
    } 
} 

的突变和在另一个位置我有元素的列表。

有什么更好的,我可以从服务器返回,我该如何更新列表?

更一般地说,处理apollo/graphql中删除操作的最佳做​​法是什么?

+0

自我提醒:本页面可能是有用的HTTP: //dev.apollodata.com/react/cache-updates.html#updateQueries – derekdreery

我不知道这是好的做法式但这里是我如何处理项目的反应,阿波罗与updateQueries删除:

​​
+0

嗨@vwrobel谢谢你的答案。我有兴趣在缓存中删除此记录的任何重复记录(我使用'$ {type}:$ {id}'作为缓存键)。这是否也会这样做? – derekdreery

+0

嗨@derekdreery。当我使用'updateQuery'时,只有指定的代码应用于以前的查询结果。在我发布的代码中,我得到的唯一更改是从列表SceneCollections.myScenes中删除了我删除的项目。此外,如果我有其他查询来获取'user {id,sceneCounter}',我将不得不从updateQueries手动更新sceneCounter:即使我的DeleteSceneMutation返回更新的'user {id,sceneCounter}',其他查询结果在我使用updateQueries时不会更新。不知道它回答你的问题,我的阿波罗知识是相当有限的... – vwrobel

+0

不用担心 - 我的知识也是有限的! – derekdreery

就我个人而言,我返回一个int它表示删除的项目数。然后我使用updateQueries从缓存中删除文档。

+0

您可以举一个使用'updateQueries'去除记录的例子:特别是它们在树中多于一个位置的地方。 – derekdreery

+0

您是否必须将其从所有位置移除? – derekdreery

+0

你有没有把它变成@derekdreery?我还没有弄清楚如何使用'updateQueries'来删除项目 – Dunos