Избегайте кэширования в Relay

Подробное объяснение приведено в https://facebook.github.io/relay/docs/thinking-in-graphql.html статья о том, как работает кэширование Relays.

Но в нем не описано, что делать, если я хочу обновить локальное хранилище из данных сервера с помощью того же запроса. Согласно логике Relay, он просматривает запрос, находит его выполненным локально и возвращает данные из локального хранилища.

Но как избежать кеширования и заставить Relay отправить новый запрос на сервер?


person Rax Wunter    schedule 12.08.2016    source источник


Ответы (1)


Вы можете заставить Relay отправить запрос на повторную загрузку всех данных, используя forceFetch API.

Например, если у вас есть кнопка в компоненте React для обновления данных и если функция обработчика refreshData, вызовите forceFetch в этой функции:

refreshData() {
    this.props.relay.forceFetch();
}
person Ahmad Ferdous    schedule 13.08.2016