我有一个Apollo Angular Client应用程序。我写信给商店:
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,
};
}