Apollo 客户端 Chrome Devtools Angular 缓存为空

问题描述 投票:0回答:1

我有一个 Apollo Angular 客户端应用程序。我写信给商店:

const userQuery = this.userGql.document;
this.apollo.getClient().writeQuery({
  query: userQuery,
  data: { user: result.data.login.user },
});

这有效。然后,我从缓存中检索用户并显示数据:

this.user = this.apollo.getClient().readQuery({
  query: this.userGql.document,
}).user;

这也有效。然而,我在 Google Chrome Devtools 中的缓存始终如下所示:

为什么这是空的?我想查看我的缓存状态调试。另外,当我转到 GraphiQL 选项卡并选择从缓存中获取时,它会查询 API(我可以知道,因为我没有传递令牌,并且它拒绝了带有未经身份验证错误的请求)。

编辑,我确实将

connectToDevTools
设置为 true,以防万一:

export function createApollo(httpLink: HttpLink) {
  return {
    link: httpLink.create({ uri }),
    cache: new InMemoryCache({
      dataIdFromObject: object => {
        switch (object.__typename) {
          case 'user':
            return object['username'];
        }
      },
    }),
    connectToDevTools: true,
  };
}
angular apollo apollo-client
1个回答
0
投票

您可以尝试使用此扩展以 json 格式复制整个 apollo 缓存并将其粘贴到任何编辑器中以查看缓存内容。

https://chromewebstore.google.com/detail/apollo-inspector/onjpbondiicnaofbdmhmjobnlchakpan

© www.soinside.com 2019 - 2024. All rights reserved.