使用 Apollo 客户端,我看到了如何根据此处所示的道具跳过查询https://ladwhocodes.com/graphql/skip-a-graphql-query-based-on-conditions/31/
但是,如果我想跳过根据状态变化调用我的查询怎么办。
我有一个查询设置为每 5 秒轮询一次,但我想在对话打开时暂停此轮询(以避免重新渲染对话的父组件,导致对话重新渲染,然后必须将光标聚焦在它所在的位置前)。
我试过这个,但它不起作用。我想要的行为可能吗?
PS:还尝试将对话打开/关闭状态移动到父组件,但这也不起作用。
const [scoreRunDialougeOpen, setScoreRunDialougeOpen] = useState(false)
const { loading, data, error } = useQuery(GET_SELECTED_HEAT, {
variables: {
id: eventId
},
pollInterval: scoreRunDialougeOpen ? undefined : 5000,
skip: scoreRunDialougeOpen,
});