在缓存类型Policies-Apollo v3中添加嵌套字段



我想知道是否可以使用InMemoryCache的typePolicies来嵌套值现在您可以定义平面字段策略

new InMemoryCache({
typePolicies: {
Query: {
fields: {
hello: {
read() {
return 'hello'
},
},
hola: {
read() {
return 'hola'
},
},
},
},
},
})
// query flat local field using apollo
const QUERY_USER_PAGE = gql`
query UserPage {
hello
hola
}
`

如果我想要反映我的应用程序结构的typePolicies,这似乎是一个很好的做法,该怎么办
平面结构在大型项目的缩放和维护方面存在局限性。。

new InMemoryCache({
typePolicies: {
Query: {
fields: {
userPage: {
hello: {
read() {
return 'hello'
},
},
hola: {
read() {
return 'hola'
},
},
},
},
},
},
})
// query nested local field using apollo:
const QUERY_USER_PAGE = gql`
query UserPage {
userPage @client {
hello
hola
}
}
`

您需要在UserPage而不是Query中添加策略

new InMemoryCache({
typePolicies: {
UserPage: {
fields: {
hello: {
read() {
return 'hello'
},
},
hola: {
read() {
return 'hola'
},
},
},
},
},
})

最新更新