#[apollo-cache-persist] данные из кеша очищены | аполлон-кэш-постоянная ошибка | apollo-cache-persist не работает

Это код, который я использовал для сохранения кэша с помощью «apollo3-cache-persist», похоже, он автоматически очищает кэшированные данные после первоначального кэширования. Очистка приводит к очистке всего в хранилище, используемом для сохраняемости. Следовательно, в результате не сохраняются.

import { persistCache, LocalStorageWrapper, LocalForageWrapper } from 
'apollo3-cache-persist';

const httpLink = createHttpLink({
uri: 'http://localhost:4000/'
});

const cache = new InMemoryCache();

persistCache({
  cache,
  storage: new LocalStorageWrapper(window.localStorage),
  debug: true,
})
 .then(() => {

  const client = new ApolloClient({
    link: httpLink,
    cache,
    connectToDevTools: true
  });

  ReactDOM.render(
  <ApolloProvider client={client}>
      <BrowserRouter>
        <App />
      </BrowserRouter>
  </ApolloProvider>
  ,
  document.getElementById('root')
  );
})

person Rahul PM    schedule 30.12.2020    source источник


Ответы (1)


Максимальный размер сохраняемого кэша при использовании «apollo3-cache-persist» (в байтах). По умолчанию 1048576 (1 МБ). т.е. если это превышает, сохранение будет приостановлено, и приложение запустится в холодном состоянии при следующем запуске.

  • maxSize?: число | ложный,

Поэтому для неограниченного размера кеша укажите false.

persistCache({
  cache,
  storage: new LocalStorageWrapper(window.localStorage),
  debug: true,
  maxSize: false
})
  .then(() => { 
  ...
})
person Rahul PM    schedule 30.12.2020