Как включить и отключить опрос в Apollo? - PullRequest
1 голос
/ 02 ноября 2019

Я использую useQuery Hook следующим образом:


function Foo() {
  const { data, error, loading } = useQuery(MY_QUERY, { pollInterval: 1000 });

  return (
    <>
      <Bar/>
      <Baz/>
      {data}
    </>
  );
}

Теперь и Bar, и Baz используют один и тот же запрос. Baz является боковой панелью, и я хотел бы отключить опрос, пока он активен.

У меня есть глобальный редуктор для обработки состояния Baz, и я изменил его следующим образом:

if (isSidebarOpen === false) {
  ...
  apolloClient.stop();
} else {
  // TODO
}

Это останавливает опрос, но я не знаю, как его активировать, когда боковая панель закрывается (то есть в блоке else выше).

Я делаю это правильно? Есть ли другой способ переключить опрос запроса GraphQL с помощью Apollo?

1 Ответ

2 голосов
/ 02 ноября 2019

Вы можете запускать и останавливать опрос динамически с помощью функций startPolling и stopPolling, которые возвращаются хуком useQuery. Для получения дополнительной информации, вы можете увидеть документы здесь .

...