文章

useEffect首次渲染不执行-只有状态更新时才执行

useEffect 首次渲染不执行,只有状态更新时才执行

useEffect 首次渲染不执行,只有状态更新时才执行

使用useRef:

1
2
3
4
5
6
7
8
9
const isMounted = useRef(false);

useEffect(() => {
  if(!isMounted.value) {
    isMounted.value = true
  } else {
    console.log('只在deps更新时执行')
  }
},deps)

下面几种首次渲染都会执行:

1
2
3
4
5
6
7
8
9
10
11
useEffect(() => {
  console.log('空数组');
}, []);

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

useEffect(() => {
  console.log('依赖数组');
}, [age])
本文由作者按照 CC BY 4.0 进行授权