对于 useEffect 和 useLayoutEffect 哪一个与 componentDidMount,componentDidUpdate 的是等价的?

date
Sep 14, 2023
slug
useEffect_useLayout_differ
status
Published
tags
Website
frontend
前端
react
hook
interview
summary
React hook经典面试题
type
Post
useLayoutEffect,因为从源码中调用的位置来看,useLayoutEffect 的 create 函数的调用位置、时机都和 componentDidMount,componentDidUpdate 一致,且都是被 React 同步调用,都会阻塞浏览器渲染。
useLayoutEffect 的 detroy 函数的调用位置、时机与 componentWillUnmount 一致,且都是同步调用。useEffect 的 detroy 函数从调用时机上来看,更像是 componentDidUnmount (注意 React 中并没有这个生命周期函数)。
 

© bai xin 2021 - 2025

沪ICP备20011311号-1