apollo-state-link не сохраняет состояние в кэше при обновлении страницы - PullRequest
0 голосов
/ 13 февраля 2019

Я заметил, что когда я обновляю свой кэш локально на стороне клиента и он переходит на другую страницу, кэш сохраняется с данными.

Однако, когда я обновляю эту страницу, кэш очищается.Есть ли способ сохранить состояние кэша даже после обновления?

1 Ответ

0 голосов
/ 13 февраля 2019

Apollo InMemoryCache хранится в памяти, поэтому он не сохраняется между загрузками страниц.Рекомендуемый способ сохранения вашего кэша - использовать apollo-cache-persist .Пример использования:

import { InMemoryCache } from 'apollo-cache-inmemory'
import { persistCache } from 'apollo-cache-persist'

const cache = new InMemoryCache({...})

persistCache({
  cache,
  storage: window.localStorage,
});

const client = new ApolloClient({
  cache,
  // other client options
})

Для расширенной настройки и использования, проверьте репо.Кроме того, помните, что если вы используете SSR, есть известных проблем с использованием этой библиотеки.Вы также можете оформить apollo-cache-instorage , что может быть более дружественным к SSR.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...