Очистка кеша для выхода из приложения Relay.js
У меня есть приложение Relay, и я хочу очистить кэш для компонента, который отображается после входа в систему. Я попытался передать currentRelay.store в мой Relay.Router и реализовать currentRelay.reset(), который устанавливает это хранилище в новое Relay.Environment затем вызывая это после выхода из системы. Кеш все еще хранится по какой-то причине. Я также попытался вызвать this.props.relay.forceFetch({}) и this.forceUpdate() в componentDidMount(). Единственный способ очистить кеш - это обновить страницу вручную. Интересно, есть ли ошибка в Relay.Environment или я делаю это неправильно.
0 ответов
В файле среды просто получите кеш ответов из QueryResponseCache, который вы можете получить из среды выполнения реле im, используя 8.0.0, чтобы вы могли проверить свою версию среды выполнения реле и получить queryresponsecache из среды выполнения реле
const cache = new QueryResponseCache({ size: 250, ttl: oneMinute });
после получения токена из localstorage, если токен равен нулю, выполните cache.clear(), например,
if (!token) {
cache.clear();
}