首页 > 解决方案 > ApolloClient:在所有查询中从缓存中删除项目?

问题描述

当涉及到 ApolloClient 缓存时,我熟悉执行更新和插入的各种方法,但这个问题是关于删除的。

假设用户选择删除“id”为 123 的“note”项。我希望在缓存中完全删除“note:123”。有没有办法做到这一点?

例如,在进行更新的情况下,我经常使用writeFragment更新特定的注释,这符合我的预期,在所有查询中更新该注释。但是,我注意到明显缺乏deleteFragment方法。我错过了什么吗?

标签: apolloapollo-client

解决方案


看起来 ApolloClient v3 允许您为此使用evict()。据我所知,这是删除项目的唯一方法,而无需知道它出现在其下的查询和变量的每个组合。


推荐阅读