突变:
const [createContact] = useMutation(CREATE_CONTACT, {
update(cache, { data: { createContact } }) {
const { getContacts } =
cache.readQuery({
query: GET_CONTACTS,
variables: { _id: user._id },
}
);
cache.writeQuery({
query: GET_CONTACTS,
variables: { _id: user._id },
data: [...getContacts, createContact],
});
},
});
突变有效,但它不会更新在父组件中运行的 GET_CONTACTS 的原始查询,结果将传递给该组件。我在这里尝试了很多随机的东西,比如使用 client.writeQuery,在 readQuery 结果上使用 cloneDeep,以及创建新数据的各种方法。仍然无法弄清楚是什么问题。感谢您的帮助。