ericgui
2020-03-13 07:10:37 +08:00
给大家说说是什么情况吧:
Drawer 这个 component,show 这个 prop,只是隐藏这个 component,但不是销毁它。所以如果要想销毁,必须这样: `{ isDrawerActive && <Drawer show={isDrawerActive} />} `这样才能确保销毁。
我需要在销毁之前做点 clean up 的工作,所以要这么用:
```javascript
useEffect(()=>{
// do something here
return function cleanUp(){
// clean up job, for instance, destroy web worker
}
});
```
3. 好,为什么要这么用? useEffect 这个 hook,返回的这个 function,会在 component 销毁(unmount)之前被执行,于是,这个就可以用来模拟 ComponentWillUnmount 这个 lifecycle hook