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

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

const [initFlag, setInitFlag] = useState(true)

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

有更自然的方法吗?

阅读 6.2k
1 个回答

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

比如我们依赖变量a,

const [a, setA] = useState(1);
useEffect(() => {
    if (!initFlag) {
        
    }
    setInitFlag(false);
}, [a]); // 只要变量a发生变化,内部就会执行
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题