学习React hook API

React hook API

useEffect(异步执行)

复制代码
`useEffect`: 是在浏览器完成绘制后异步执行的;
所以如果你在 `useEffect` 中改变了 DOM,可能会造成用户看到的画面闪烁或者不一致

useLayoutEffect(同步执行)

复制代码
`useLayoutEffect` 是在浏览器完成布局,但在绘制之前执行的。也就是说,它允许你在浏览器开始绘制之前,同步地读取 DOM 布局并使更改。这意味着,如果你在 `useLayoutEffect` 中修改了 DOM(例如,改变一个元素的宽高),则这些更改将在下一次用户看到的画面中反映出来。

使用场景:
1.读取或修改布局相关的 DOM 属性:如元素的宽高,位置等。因为`useLayoutEffect` 在浏览器布局后立即执行,因此能保证获取到最新的 DOM 信息,避免由于 DOM 信息不一致导致的布局抖动。

2.在某些需要同步执行副作用的情况下:比如需要在用户点击按钮后立即改变按钮样式的情况。因为 `useEffect` 是异步执行的,可能会导致视觉上的延迟
相关推荐
武陵悭臾11 分钟前
Python应用开发学习:Pygame中实现切换开关及鼠标拖动连续填充功能
python·学习·程序人生·个人开发·pygame
inside80213 分钟前
11月10日学习总结--numpy的基本操作
学习·numpy
想暴富,学技术15 分钟前
AI提示词学习基础(一)
人工智能·学习
转角羊儿34 分钟前
layui框架中,表单元素不显示问题
前端·javascript·layui
Hilaku1 小时前
当你的Ant-Design成了你最大的技术债
前端·javascript·前端框架
创业之路&下一个五年1 小时前
系统分析师,我又考后总结了。
学习·总结
ヾChen1 小时前
MySQL——增删改查操作
数据库·sql·物联网·学习·mysql
小蜜蜂爱编程2 小时前
逻辑回归学习笔记
笔记·学习·逻辑回归
YJlio2 小时前
VMMap 学习笔记(8.3):VMMap 窗口全解析——内存类型、指标含义、颜色视图怎么读
笔记·学习·visual studio
春生野草2 小时前
(二)Docker实战--Docker镜像部署与启动
学习·docker·容器