面试题:useeffect如何做到首次渲染不执行,只有状态更新时才执行?

useeffect如何做到首次渲染不执行,只有状态更新时才执行?

我试了下面三种依赖写法,都会在每次执行,请问怎么写才能首次不执行呢?

 useEffect(() => {
    console.log('空数组');
  }, []);

  useEffect(() => {
    console.log('每次执行');
  })

  useEffect(() => {
    console.log('依赖数组');
  }, [age])
阅读 3.3k
2 个回答
const isMounted = useRef(false);

useEffect(() => {
    if(!isMounted.value) {
        isMounted.value = true
    } else {
        console.log('只在deps更新时执行')
    }
},deps)
推荐问题
logo
Microsoft
子站问答
访问
宣传栏