Another post共享了一个有关如何退订的示例,而Apollo docs则没有。 Apollo文档确实提到了subscribeToMore返回的内容...
这确实给出了提示。看一个例子会有所帮助。
问题
使用@apollo/react-hooks
内的useEffect()
并返回subscribeToMore
的结果,这是退订组件卸载的方法吗?
const { data, error, loading, subscribeToMore } = useQuery(GET_DATA)
useEffect(() => {
const unsubscribe = subscribeToMore(/*...*/)
return () => unsubscribe();
}, [])
最佳答案
卸载组件时,应为您取消所有关联的订阅的订阅。除非您要在此之前退订,否则不必手动进行管理。
您可以看到在将subscribeToMore
称为here时正在跟踪预订,然后在清理查询here时取消预订。