angular - Angular 的 Apollo 客户端 Chrome Devtools 缓存为空
问题描述
我有一个 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,
};
}
解决方案
推荐阅读
- wxpython - 使用 wxpython 如何让我在一个 Textctrl 面板中键入的单词在另一个面板中显示为加密,反之亦然
- c++ - 在队列中选择备用位置
- ios - 如何在 Swift 中将字符串转换为日期到字符串?
- json - 如何通过 Linux 命令删除 JSON 文件中的对象
- ruby-on-rails - 为什么 Accept: application/json 和 Content-Type: application/json 会导致此测试出现问题?
- ethereum - 请求的从 literal_string 到字符串存储指针的无效隐式转换
- ag - SilverSearcher - 当文档显示“--ignore PATTERN”没有等号时,为什么我可以使用“--ignore=PATTERN”?
- spring - 在windows cmd中运行的spring boot server响应来自远程浏览器的请求但是在eclipse中运行时没有响应
- javascript - js - “阻止”或“重定向”所有键盘和鼠标滚轮动作
- c++ - 如何在没有分隔符的大文本文件中查找所有字典单词?