我正在使用react和Apollo Client显示一个表。假设我的查询是这样的:
query {
field1
field2
field3
}
我的表格有一个下拉菜单,可让您切换要查看的列。我正在尝试使用fetchMore
函数来获取新结果。 fetchMore
有一个query
选项,可让您重新定义正在使用的查询。我已经弄清楚了如何使用正则表达式修改查询,所以查询看起来像这样
// field2 is now hidden
query {
field1
field3
}
但是由于我删除了字段并且不只是更改发送给查询的变量,所以在得到结果后,Apollo Client无法重新呈现页面(通过更新react状态),并向我显示此警告:
Missing field fieldname1 in response
// in writeToStore.ts:194
据我了解,Apollo Client无法更新其缓存,因为实际查询已被修改。不幸的是,我找不到一种方法来更新此单个查询结果的缓存。
我的依赖项是:
"apollo-boost": "^0.1.19",
"apollo-cache-inmemory": "^1.3.12",
"react": "^16.0.0",