最初,我按如下方式进行GraphQL调用:
query getItems($filter_ids: [Int!], $filter: item_records_bool_exp) {
items(order_by: { negative: asc, parent: asc }, where: { level: { _in: [2, 3] } }) {
i18n {
value
}
id
parent
negative
}
filters(where: { category: { _eq: "PLAN" } }) {
id
value
}
}
现在,当我插入新项目时,我使用突变选项中的update
函数更新缓存,并且应该使用readQuery
/ readFragment
和{{1 }} / writeQuery
与Apollo缓存进行交互,如here所述。
我的问题是,如果我没有提供与先前提供给原始GraphQL查询完全相同的变量,我的writeFragment
调用将始终失败。有没有解决的办法?换句话说,我是否可以按其ID从缓存中读取对象,而与用于获取这些对象的原始查询无关?