当前位置: 首页 > news >正文

可以做网站的服务器江门网页制作

可以做网站的服务器,江门网页制作,大连网站建设主页,网站建设费用报价单useLayoutEffect钩子函数的作用跟useEffect钩子函数的作用一样,它们的不同主要是在于: 1、useEffect钩子函数是异步的,因为此函数在执行的时候是先计算出所有的 Dom 节点的改变后再将对应的 Dom 节点渲染到屏幕上,然而在 useEffe…

useLayoutEffect钩子函数的作用跟useEffect钩子函数的作用一样,它们的不同主要是在于:

1、useEffect钩子函数是异步的,因为此函数在执行的时候是先计算出所有的 Dom 节点的改变后再将对应的 Dom 节点渲染到屏幕上,然而在 useEffect 函数中可能还存在某些还在后台运行的代码,这些后台代码的运行和 Dom 的渲染是互不影响的,所以这样就有可能在页面渲染效果上会有元素抖动的情况发生。

2、useLayoutEffect钩子函数是同步的,在性能上会比较差,但是它是等到所有计算完成、所有代码完成后最后才会去渲染 Dom 节点。

具体实例如下:

const UseLayoutEffectDemo: React.FC = () => {const [show, setShow] = useState<boolean>(false);const popup = useRef<HTMLDivElement>(null);const button = useRef<HTMLButtonElement>(null);useEffect(() => {if (popup.current === null || button.current === null) {return;} else {const { bottom } = button.current.getBoundingClientRect();popup.current.style.top = `${bottom + 25}px`;}});return (<div><button ref={button} onClick={() => setShow((prev) => !prev)}>切换状态</button>{show && (<div style={{ position: "absolute" }} ref={popup}>这是显示内容</div>)}</div>);
};

运行上述代码后,当你点击切换状态状态按钮后,这是显示内容的 div 元素会首先在按钮后显示,但是很快就会向下偏移 25px 的距离。因为当show发生改变后,div 已经开始显示,而随后useEffect监听到有变化后就开始执行代码,等到执行完成后,Dom 会重新渲染。这样 div 元素就会有抖动,只是这个抖动发生的很快。

为了防止上述的情况发生,我们可以把useEffect钩子函数改为useLayoutEffect钩子函数,这样 Dom 的渲染是等到所有相关操作都完成后才会进行 Dom 的渲染。

http://www.yayakq.cn/news/202918/

相关文章:

  • 郑州网站建设郑州网络推广建网站需要备案吗
  • 杭州营销型网站建设工作室wordpress图片备份
  • 自己的网站怎么推广17我们一起做网站
  • 深圳 网站建设培训班wordpress主题制作收费
  • 网站建设话术宝典平面设计与广告设计
  • 丽水网站开发成都建站模板网站制作
  • 手机响应式网站开发模板之家wordpress去版权插件
  • 青山网站建设正版seo搜索引擎
  • 大连制作网站报价seo指哪些市场区域
  • 长沙网站seo技巧做查询快递单号的网站多少钱
  • 如何在720云网站做全景视频野花高清中文免费观看视频
  • 网站套用模板dede鲜花网站模板下载
  • 怎么在自己电脑上做网站贵阳东方蜜蜂网站建设
  • 如何设公司产品购物网站如何给网站做后台
  • 上海 专业网站建设网页设计培训贵不贵
  • 网站建设自查自评报告电子商务网站建设教程试卷
  • 首页网站模板集团网站信息建设情况
  • 网站要实现的电商功能江西赣州网络公司
  • 网站开发就业外部威胁wordpress 艺术 主题 2018
  • 企业网站数据库sem网站推广怎么做
  • 搭建网站分类银川公司做网站
  • 石家庄seo网络优化的公司东莞seo优化公司
  • 企业网站备案流程外贸网站建设报价
  • 商城版网站建设网站建设学生兼职
  • 阿里巴巴做网站分录绵阳网站建设怎么做
  • 宁波网站推广公司有哪些asp网站打开速度慢
  • 网站备案取消接入如何开发自己的软件
  • 网站案例介绍网站建设如何收费
  • 湘潭网站制作建设网站建设是什么软件
  • 创建自己的博客网站阿里网站域名指向怎么做