小编tsu*_*uki的帖子

useEffect 中可以有条件地进行不同的清理吗?

所以,我有useEffect这样的:

useEffect(()=>{
    if(foo) {
        // do something
        return () => { // cleanup function }
    }
}, [foo])
Run Code Online (Sandbox Code Playgroud)

在这里,cleanup即使if块被执行,该函数也永远不会被调用。但如果我修改一下效果为:

useEffect(()=>{
    if(foo) {
        // do something
    }
    return () => { // cleanup function }
}, [foo])
Run Code Online (Sandbox Code Playgroud)

有用。那么,清理工作是否仅return在最后一条语句useEffect或我缺少某些内容时才进行?

reactjs react-hooks use-effect

6
推荐指数
1
解决办法
6414
查看次数

标签 统计

react-hooks ×1

reactjs ×1

use-effect ×1