React-hooks的useEffect怎么模拟componentDidUpdate生命周期呢?

码码码畜
  • 2.9k

目前我是用一个变量来模拟的:

const [initFlag, setInitFlag] = useState(true)

uesEffect(() => {
    if (!initFlag) {
        // 初始化不会执行,后续render执行
    }
    setInitFlag(false)
})

有更自然的方法吗?

回复
阅读 4.4k
1 个回答

useEffect第2个参数,当这个参数发生变化时,自动执行,就看你这个initFlag是要依赖什么发生变化。

比如我们依赖变量a,

const [a, setA] = useState(1);
useEffect(() => {
    if (!initFlag) {
        
    }
    setInitFlag(false);
}, [a]); // 只要变量a发生变化,内部就会执行
宣传栏