Graphql Apollo v3 cache.modify用于不带字段的查询
尝试使用Apollo v3缓存的不可变特性,特别是cache.modify(在发生变异后),但由于需要更新的查询是平面的且没有字段,因此面临一些挑战 服务器返回一个数组作为查询的结果:Graphql Apollo v3 cache.modify用于不带字段的查询,graphql,apollo,apollo-angular,Graphql,Apollo,Apollo Angular,尝试使用Apollo v3缓存的不可变特性,特别是cache.modify(在发生变异后),但由于需要更新的查询是平面的且没有字段,因此面临一些挑战 服务器返回一个数组作为查询的结果: const STATE_LIST = gql` query stateNames { stateNames }`; 典型的查询结果是: { "data": { "stateNames": [ "California",
const STATE_LIST = gql`
query stateNames {
stateNames
}`;
典型的查询结果是:
{
"data": {
"stateNames": [
"California",
"New York",
"Texas",
"Arizona"
]
}
}
变异返回添加到服务器上的州名,如“新墨西哥州”。要更新缓存,cache.modify函数需要筛选我没有的字段(请参见“示例:从列表中删除项”)。我也没有这个数组的ID。所以我甚至不知道如何开始。在定义同样依赖于查询字段(而不是像我这样的平面查询)的合并函数时,也存在类似的挑战
非常感谢您在编写这个cache.modify函数时提供的任何帮助。像这样,但没有新的ref,只需向现有数组添加新的数据/元素即可