我是React的新学习者。目前,我正在学习Hooks。我正在学习useEffect
hook。它通常与生命周期方法(componentDidMount
、componentDidUpdate
和componentWillUnmount
等)进行比较。我的问题是关于这些函数的行为。生命周期方法是同步还是异步运行的?useEffect
呢?
我是React的新学习者。目前,我正在学习Hooks。我正在学习useEffect
hook。它通常与生命周期方法(componentDidMount
、componentDidUpdate
和componentWillUnmount
等)进行比较。我的问题是关于这些函数的行为。生命周期方法是同步还是异步运行的?useEffect
呢?
就 useEffect 而言,它是异步运行的,工作方式如下:
您以某种方式引起渲染(更改状态或父级重新渲染)
React 渲染您的组件(调用它)
屏幕得到视觉更新
然后 useEffect 运行
React 还有同步的 useEffect,即 useLayoutEffect
您以某种方式引起渲染(更改状态或父级重新渲染)
React 渲染您的组件(调用它)
useLayoutEffect 运行,React 等待其完成。
屏幕得到视觉更新
您可以阅读更多关于 useLayoutEffect 的信息
希望这能帮助到您