我知道成功突变后(使用update
)如何更新缓存。
我知道如何自行处理错误(在客户端上使用try/catch
和全局onError
配置。)
发生变异错误后,如何更新缓存?
我需要这样做是因为我正在处理缓存中的每个字段加载字段(作为本地@client
字段),并且我希望在突变失败后将它们设置为false
(并返回前一个字段的值(如果需要)。您是否有更好的概念来处理按字段加载指示器?
我目前正在使用withApollo来获取客户端,然后使用client.cache.writeData
来手动操作缓存。可以,但是我遇到了渲染问题-我可以在控制台/开发人员工具中看到更改,但是在实际元素中看不到,并且在元素中进行了另一处更改后,它会更新加载值。
还有另一种方法吗?
答案 0 :(得分:1)
您应该使用client.writeData
而不是cache.writeData
-后者不会触发UI中的反应式更新,而前者却会触发。迁移到客户端的3.0版后,您将需要使用writeQuery
或writeFragment
,因为writeData
将被删除,因此您可以考虑改为使用这两种方法之一。