首页 > 解决方案 > 如何使用从承诺返回的函数取消订阅 useEffect?

问题描述

我调用一个promise,它返回一个取消订阅函数。如何使用中的返回功能取消订阅useEffect

useEffect(()=>{
   let unSub = ()=>{}   

   async function run(){
        unSub = await promise();
   }

   run();

   
   return unSub
})

想到这样的事情,不知道是不是正确的做法,react 的做法是什么?

标签: reactjsreact-hooksuse-effect

解决方案


// on component mount
useEffect(() => {
    // do some stuff ie. subscribe

    // on component unmount
    return () => {
       // do some stuff ie. unsubscribe
    }
}, [/* dependencies */])

推荐阅读