为了账号安全,请及时绑定邮箱和手机立即绑定

如何取消订阅数组

如何取消订阅数组

Helenr 2022-06-16 16:34:19
subscribeToMore我有一个我想使用的来自 Apollo 的查询数组。我受到这篇文章的启发,希望我想使用一个功能组件: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] 是未定义的
查看完整描述

1 回答

?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

useEffect只有一个返回函数。你不能多次调用它。相反,在 return 函数中,您可以检查条件并取消订阅是否有要清除的订阅


useEffect(() => {

    const unsubscribe =

        [subscribeToMore({

            // subscriptionData...

        }), subscribeToMore({

            // subscriptionData...

        })]


    return () => {

       if (unsubscribe.length > 0) {

           for (i = 0; i < unsubscribe.length; i++) {

               unsubscribe[i]()

           }

       }

    }


}, [subscribeToMore])


查看完整回答
反对 回复 2022-06-16
  • 1 回答
  • 0 关注
  • 99 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信