使用InMemoryCache for Apollo GraphQL客户端,规范化如何工作?

时间:2019-04-04 15:06:20

标签: javascript graphql apollo-client

我将InMemoryCache用于JavaScript中的Apollo GraphQL。

我有一个关于缓存时规范化如何工作的问题。我正在实现一种标准的列表/详细信息模式以显示客户列表,然后点击其中一个以显示该客户的详细信息。

列表GraphQL查询获取一些基本的客户信息,但是详细查询获取更多的信息。

两个查询都包括__typenameid

通过阅读文档,我期望Apollo标准化结果的方式,当我对fetchPolicy做“ {-and-network””的watchQuery时,它应该返回部分填充的结果(从列表中缓存)查询),然后再返回完全填充的结果(从服务器返回的详细信息查询中)。

但是,我看不到这种情况。只有在我已经获取了这个确切的详细查询之后,才会为详细查询填充缓存。

那很好,但是我希望它返回从列表查询标准化的部分缓存结果。

我对Apollo的理解是否正确,应该返回部分归一化的缓存结果?还是我只是误解了Apollo缓存的工作原理?

谢谢

0 个答案:

没有答案