当我启动本机应用程序时,我不会查询“所有内容”以获得离线体验。
所以我
query all {
groups {
...GroupF
}
persons {
...PersonF
}
}${PERSON_ITEM}${GROUP_ITEM}
PersonF和GroupF是片段。
第一个视图具有组列表,每个人都可以属于一个组。当用户单击一个组时,查询如下:
persons($group: ID) {
persons(group: $group) {
...PersonsF
}
}${PERSON_ITEM}
但是我的cacheRedirects只是不能反映出与返回的数据相同的数据。
我知道这是因为我在我的组件包装器中console.log注销响应(在这里看起来很棒)
但在我的
中const cache = new InMemoryCache({
cacheRedirects: {
Query: {
persons: (_, args, {getCacheKeys}) => {
// I have tried everything here but nothing maps correctly
// I have tried getCacheKey({__typename: 'Person', id: args.group})
// I have tried following the apollo documentation
// No luck, it just can't find the group
// Using the chrome dev tools I don't see persons having groups
const a = getCacheKey({__typename: 'Person', id: args.group});
// Console.log(a) is:
// {generated: false, id: "Person:9", type: "id", typename "Person"}
}
}
}
});
您对我如何编写适当的缓存重定向人员查询有任何建议?
真的非常感谢
| 1 | https://www.apollographql.com/docs/react/advanced/caching.html#cacheRedirect
答案 0 :(得分:0)
这是由于我们停止使用Person字段中的 id 字段这一事实所致,因为我们不再使用该字段了。