useEffect 和 useLayoutEffect 区别
2021-11-20 本文已影响0人
Lucien_d70a
useEffect
useEffect(() => {
// codes
return () => { } // 当组件取消以后会执行return的东西
}, []) // render 完以后执行
useEffect(() => {
// codes
}, [state]) // state 有变化时候执行,包括第一次
useEffect(() => {
// codes
}) // 每次render都会执行
useLayoutEffect 使用方法同理
区别
-
useLayoutEffect 总会比 useEffect 先执行,它是render前的动作,除非特殊场景,不然使用 useEffect 即可。