kil*_*joy 4 reactjs graphql apollo-client
使用 Apollo Client 3 和 eed 删除查询的所有结果,无论参数如何。像这样尝试过;
cache.evict({
id: "ROOT_QUERY",
fieldName: "countries"
});
cache.gc();
Run Code Online (Sandbox Code Playgroud)
然而,没有从缓存中删除任何内容,__APOLLO_CLIENT__.cache.data所有结果仍然在缓存中。另一方面,我可以删除单个Country对象。
你可以在这里看到它沙盒
简单添加broadcast: false参数就解决了问题;
cache.evict({
id: 'ROOT_QUERY',
fieldName: 'countries',
broadcast: false,
});
cache.gc();
Run Code Online (Sandbox Code Playgroud)