useLayoutEffect与useEffect的区别

383 阅读1分钟
  • 优先使用 useEffect,因为它是异步执行的,不会阻塞渲染
  • useLayoutEffectcomponentDidMount是等价的,会同步调用,阻塞渲染
  • 会影响到渲染的操作尽量放到 useLayoutEffect中去,避免出现闪烁问题
  • useEffect 的执行时机是浏览器完成渲染之后,而 useLayoutEffect 的执行时机是浏览器把内容真正渲染到界面之前,和 componentDidMount 等价。