React生命周期方法是同步的还是异步的



我是React的新手。目前,我正在学习胡克。我在学习useEffect挂钩。它主要与生命周期方法(componentDidMountcomponentDidUpdatecomponentWillUnmount等(进行比较。我的问题是关于这些函数的行为。生命周期方法是同步运行还是异步运行?useEffect呢?

与componentDidMount或componentDidUpdate不同,使用useEffect调度的效果不会阻止浏览器更新屏幕。这会让你的应用程序感觉更灵敏。大多数效果不需要同步发生。在不常见的情况下(例如测量布局(,有一个单独的useLayoutEffect挂钩,其API与useEffect相同。您应该浏览文档以获得清晰的视图。

就useEffect而言,它是异步运行的,就像这个一样

您以某种方式导致渲染(更改状态或父级重新渲染(

React渲染您的组件(称之为(

屏幕在视觉上更新

然后使用效果运行

React也有同步的useEffect,即useLayoutEffect

您以某种方式导致渲染(更改状态或父级重新渲染(

React渲染您的组件(称之为(

useLayoutEffect运行,React等待它完成。

屏幕在视觉上更新

您可以阅读更多关于useLayoutEffect 的信息

希望它能帮助

相关内容

  • 没有找到相关文章

最新更新