【问题标题】:Clearing cache for log out in Relay.js app在 Relay.js 应用程序中清除缓存以注销
【发布时间】:2016-12-23 10:26:51
【问题描述】:

我有一个 Relay 应用程序,我想清除登录后显示的组件的缓存。我尝试将 currentRelay.store 传递到我的 Relay.Router 并实现 currentRelay.reset() 将该存储设置为新的Relay.Environment,然后在注销后调用它。由于某种原因,缓存仍然被存储。我还尝试在 componentDidMount() 中调用 this.props.relay.forceFetch({}) 和 this.forceUpdate()。我可以清除缓存的唯一方法是手动刷新页面。我想知道 Relay.Environment 是否有错误,或者我做错了。

【问题讨论】:

标签: reactjs caching relayjs relay react-router-relay


【解决方案1】:

在环境文件中,只需从 QueryResponseCache 获取响应缓存,您可以使用 8.0.0 从中继运行时获取响应缓存,因此您可以检查中继运行时的版本并从中继运行时获取 queryresponsecache

const cache = new QueryResponseCache({ size: 250, ttl: oneMinute });

如果令牌为空,则从本地存储中获取令牌后,然后执行 cache.clear() 例如,

 if (!token) {
cache.clear();
}

【讨论】:

    猜你喜欢
    • 2019-06-19
    • 1970-01-01
    • 2011-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多