我要使用Apollo查询中的subscribeToMore
数组。我受此article的启发,希望我要使用功能组件:
useEffect(() => {
const unsubscribe =
[subscribeToMore({
// subscriptionData...
}), subscribeToMore({
// subscriptionData...
})]
if (unsubscribe.length > 0) {
for (i = 0; i < unsubscribe.length; i++) {
return () => unsubscribe[i]()
}
}
}, [subscribeToMore])
但是,我得到:
在unsubscribe
[i]
()中,unsubscribe [i]未定义 最佳答案
useEffect
仅具有一个返回功能。您不能多次调用它。而是在return函数中,您可以检查条件并取消订阅是否有要清除的订阅
useEffect(() => {
const unsubscribe =
[subscribeToMore({
// subscriptionData...
}), subscribeToMore({
// subscriptionData...
})]
return () => {
if (unsubscribe.length > 0) {
for (i = 0; i < unsubscribe.length; i++) {
unsubscribe[i]()
}
}
}
}, [subscribeToMore])
关于javascript - 如何取消订阅数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61053477/