Есть ли способ отключить apollo-link-dedup при использовании apollo useQuery? - PullRequest
1 голос
/ 03 октября 2019

Обзор

У меня есть компонент, который отображает два дочерних компонента. Дочерние компоненты используют Apollo useQuery для отправки запроса на сервер. Проблема заключается в том, что apollo-link-dedup включено при использовании apollo-client, на сервер отправляется только один запрос.

Я попытался установить для контекста значение forceFetch: true, как указано здесь но это не похоже на работу с хуками.

Вот запрос:

// Generated query from @graphql-codegen/cli
import { useGetUploadUrlsQuery } from 'types/graphql'

useGetUploadUrlsQuery({
  fetchPolicy: 'network-only',
    context: {
     forceFetch: true,
    },
  })

Примечание: Передача уникальной переменной обходит дедупликацию. Любое менее хакерское решение / обходной путь, который любой может придумать, будет полезно.

Спасибо!

1 Ответ

0 голосов
/ 05 октября 2019

Это может быть проблема с документацией. Я думаю, что правильный ключ для передачи на context это deduplication со значением false:

useGetUploadUrlsQuery({
  fetchPolicy: 'network-only',
  context: {
   queryDeduplication: false,
  },
})

Это отмечено здесь . Это не совсем верно, что apollo-link-dedup «включено по умолчанию», как указано в README - логика может быть, но сама ссылка - нет.

...