caching - Apollo 客户端从缓存中驱逐但从不重新渲染
问题描述
我正在使用 Apollo 的客户端并试图address
从缓存中驱逐对象。Usingevict
确实将它从缓存中删除(由 Apollo Client Dev Tools 确认),但是,看起来该组件没有address
重新呈现,除非我刷新页面,否则它仍然存在。
deleteAddress({
variables: { id: data.address.id },
update: (cache) => {
cache.evict({
id: "Address:" + data.address.id,
});
cache.gc();
},
})
}
具体来说,我尝试了以下两种方法,都从缓存中删除了对象,但都没有重新渲染。
cache.evict({
id: "Address:" + data.address.id,
});
cache.gc();
cache.evict({
id: cache.identify(data?.address),
});
解决方案
推荐阅读
- python - python3 - 未使用更新的全局变量值,而是使用旧值
- amazon-web-services - 应用程序负载均衡器的 AWS 完全访问策略
- javascript - 如何从某个 webpack 包中排除 jQuery?
- c# - 将 JSON 对象发布到 C# ASP.NET WEB API
- bitbucket - 在发布时将 JIRA 变量传递给 Bamboo
- reactjs - 父母不提供反应状态?
- android - 如何在 React Native 应用程序在前台显示 FCM
- azure-devops - 您可以自定义 VSTS 发布定义的构建版本下拉列表吗
- c++ - 如何从处于低功耗状态的 USB 设备获取字符串描述符?
- plot - 在 Mathematica 中绘制多条网格线并给出单独的标签