Очистка кеша для выхода из приложения 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();
}
Другие вопросы по тегам