Опция fetchPolicy: «no-cache» не работает в useQuery - PullRequest
1 голос
/ 30 января 2020

это мой код

const { loading, error, data } = useQuery(HeaderPage.query, {
    fetchPolicy: "no-cache"
  });

, когда я использую fetchPolicy: "no-cache". Повторный запрос не go.

В чем причина, почему только один запрос сделан?

1 Ответ

1 голос
/ 30 января 2020

Когда вы используете хук useQuery, ваш запрос выбирается, когда компонент монтирует . Будет ли он получен с сервера или из кэша, будет зависеть от вашей политики кэширования (и от того, есть ли что-нибудь в кэше). После первоначального извлечения запроса он будет извлечен снова, только если 1) параметры, переданные хуку, меняются, или 2) вы вызываете функцию refetch, возвращаемую хуком. Запрос не будет запущен снова только потому, что компонент перезапускается - это приведет к чрезмерным запросам и бесконечному рендерингу l oop.

...