Apollo 客户端 3 驱逐查询结果 - 不起作用?

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对象。

你可以在这里看到它沙盒

kil*_*joy 6

简单添加broadcast: false参数就解决了问题;

               cache.evict({
                  id: 'ROOT_QUERY',
                  fieldName: 'countries',
                  broadcast: false,
                });
                cache.gc();
Run Code Online (Sandbox Code Playgroud)