Вы не должны сравнивать apollo-cache-inmemory
напрямую с apollo-link-state
.apollo-cache-inmemory
используется для обработки кэширования на Apollo Client
, вам не нужно писать какой-либо специальный код, чтобы он работал (кроме простого указания Apollo Client
на его использование).Любые данные, которые вы извлекаете из api
, кэшируются автоматически.
apollo-link-state
однако предназначен для кэширования на стороне клиента, например, NetworkStatus браузера или текущей активной вкладки.Состояния, которые обычно не отправляются обратно на внутренний сервер.
Итак, вам нужно только подумать, нужно ли вам кэширование на стороне клиента или нет.В большинстве случаев, которые я видел, проект в конечном итоге использовал бы оба.