关闭Apollo的cacheRedirect示例(https://www.apollographql.com/docs/react/advanced/caching.html#cacheRedirect)
现在,我进行以下模式修改...
type Query {
books: [BookPayload!]!
}
type BookPayload {
books: [Book!]!
// other stuff, e.g. bookCount: Int
}
在该示例中,Apollo可以通过以下方式检查缓存中是否有退回的书:
cacheRedirects: {
Query: {
books: (_, args, { getCacheKey }) =>
args.ids.map(id =>
getCacheKey({ __typename: 'Book', id: id }))
}
}
但是,当被检查的类型没有直接返回时,我不确定如何重定向缓存。我已经尝试过一切回报的尝试,但都无济于事。
我们非常感谢您的帮助。谢谢!
答案 0 :(得分:0)
您的问题尚不清楚。您说“我不确定在不直接返回被检查类型时如何重定向缓存”,但是您似乎正在检查并返回[BookPayload!]!
因此,我看不出为什么这行不通:
cacheRedirects: {
Query: {
books: (_, args, { getCacheKey }) =>
args.ids.map(id =>
getCacheKey({ __typename: 'BookPayload', id: id }))
}
}