Another post分享了一个有关如何退订的示例,而Apollo docs却没有。 Apollo文档确实提到了SubscribeToMore返回的内容...
subscribeToMore
:设置订阅的功能。subscribeToMore
返回一个可用于退订的函数。
这确实给出了提示。看一个例子会有所帮助。
在@apollo/react-hooks
内使用useEffect()
并返回subscribeToMore
的结果,这是退订组件卸载的方法吗?
const { data, error, loading, subscribeToMore } = useQuery(GET_DATA)
useEffect(() => {
const unsubscribe = subscribeToMore(/*...*/)
return () => unsubscribe();
}, [])
答案 0 :(得分:5)
在卸载组件时,应该为您取消任何关联的订阅。除非您希望在此之前退订,否则不必手动进行管理。
答案 1 :(得分:1)
SubscribeToMore返回取消订阅功能,因此您的代码正确。