避免在 Relay 中缓存

Posted

技术标签:

【中文标题】避免在 Relay 中缓存【英文标题】:Avoid caching in Relay 【发布时间】:2016-12-19 06:36:13 【问题描述】:

在https://facebook.github.io/relay/docs/thinking-in-graphql.html 文章中有详细的解释 Relays 缓存是如何工作的。

但它没有描述如果我想用相同的查询从服务器数据刷新我的本地存储该怎么做。根据 Relay 逻辑,它会查看查询,在本地找到它并从本地存储返回数据。

但是如何避免缓存并强制 Relay 向服务器发送新请求呢?

【问题讨论】:

【参考方案1】:

您可以使用forceFetch API 让 Relay 发送重新获取所有数据的请求。

例如,如果您的 React 组件中有一个按钮来刷新数据,并且处理函数是 refreshData,则在该函数中调用 forceFetch

refreshData() 
    this.props.relay.forceFetch();

【讨论】:

以上是关于避免在 Relay 中缓存的主要内容,如果未能解决你的问题,请参考以下文章

html 避免在浏览器中缓存

Falcor:避免过时的客户端缓存

在加载数字流时避免缓存污染

预加载、缓存 gif 图像以避免在 React Native 中闪烁

[入门篇] HTTP 缓存 概念

避免 301 重定向缓存