【发布时间】:2020-02-28 14:41:04
【问题描述】:
我像这样使用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 块中)。
我这样做正确吗?是否有其他方法可以使用 Apollo 切换 GraphQL 查询的轮询?
【问题讨论】:
标签: graphql apollo react-apollo apollo-client react-apollo-hooks