【发布时间】:2020-10-12 01:44:51
【问题描述】:
我似乎无法在突变后更新我的缓存,尽管我传递了类型名和 id 来引用要修改的对象。我究竟做错了什么? 我在这里复制了一个简单的例子。
我首先用数据初始化了我的缓存 -
const writeInitialData = () => {
cache.writeQuery({
query: gql`
query {
test
}
`,
data: {
test: {
__typename: 'test',
id: 'id1',
string: 'initial string',
}
},
});
};
然后我在我的客户端上执行了突变。
updateTest: (_, __, { cache }) => {
cache.modify({
id: cache.identify({
__typename: 'test',
id: 'id1',
}),
fields: {
string: 'changed string',
},
});
}
但是,缓存中的值并没有改变,而且如果我 console.log() 得到 cache.modify 的返回值,它给了我false,表示缓存没有更新。
【问题讨论】:
标签: apollo react-apollo apollo-client