useEffect 和 useLayoutEffect 区别

useEffect

useEffect(() => {
  // codes
  return () => {  } // 当组件取消以后会执行return的东西
}, []) // render 完以后执行
useEffect(() => {
  // codes
}, [state]) // state 有变化时候执行,包括第一次
useEffect(() => {
  // codes
}) // 每次render都会执行

useLayoutEffect 使用方法同理

区别

  • useLayoutEffect 总会比 useEffect 先执行,它是render前的动作,除非特殊场景,不然使用 useEffect 即可。


你可能感兴趣的:(useEffect 和 useLayoutEffect 区别)