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

站群优化公司平面设计实习报告

站群优化公司,平面设计实习报告,页面设计班,百度搜索关键词排名人工优化setState 批量更新的过程 React 的 setState 调用是异步的。为了性能原因,React 会将多个 setState 调用合并成一次批量更新。具体过程如下: 1)React 先将调用的每个 setState 所产生的更新对象存储在一个队列中。 2)在所有的同步…

setState 批量更新的过程

React 的 setState 调用是异步的。为了性能原因,React 会将多个 setState 调用合并成一次批量更新。具体过程如下: 1)React 先将调用的每个 setState 所产生的更新对象存储在一个队列中。 2)在所有的同步代码执行完之后,React 调度机制会统一处理这些队列中的更新,进行批量处理。 3)React 根据更新对象对组件进行合并更新,只在最后一次调用时实际渲染更新后的 DOM。

需要注意:

  1. setState 之所以设计成异步更新是为了保证性能,避免每次 setState 都引起组件的重新渲染。异步 setState ,合并多个状态更新统一处理,减少渲染次数,提高性能。

  2. react 使用事务机制实现批量更新,React 的批处理既包括状态更新(state),也包括生成并应用这些更新的 DOM 操作。

  3. setState 的第二个参数是一个回调函数,会在 setState 更新并重新渲染组件后被调用

    1. this.setState({ counter: this.state.counter + 1 }, () => {console.log("State updated:", this.state.counter);
      });
      
  4. 强制同步更新,类组件可以通过 forceUpdate 强制同步更新,函数式组件使用 useSyncExternalStore 强制同步更新。

    1. 强制同步更新场景:如果组件的 render 方法是直接读取外部数据源时(而不是 render 中读取了 this.props, this.state 等,因为这样当你在组件或其任一父组件内调用 setState 时,它就将自动重新渲染),则必须告诉 React 在该数据源更改时更新用户界面。
  5. react18 之前,合成事件和生命周期方法中 setState 是批量更新的;原生事件或者 setTimeout 中,setState 是同步的。react18之后,默认情况下都是批量更新。

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

相关文章:

  • 艺阳科技网站建设百度推广太原网站建设
  • 网站开发技术 北京网站开发需要学习什么技术
  • 高邮做网站贵州十大广告公司
  • 关于单位建设网站的申请提示网站建设页面
  • 河南省建设厅网站打不开互联网站平台有哪些
  • 视频门户网站建设项目标书在线阅读小说网站开发
  • 建设网站需要准备哪些内容做pc端网站资讯
  • 沧州做网站wordpress 多语言版本号
  • 公司做网站收费360打不开建设银行的网站
  • 宁波自助建站系统做网站卖链接
  • 建设网站的视频视频网站 不备案
  • 南通网站制作淮南公司网站建设
  • 自建网站阿里云备案通过后怎么做asp网站发送邮件
  • 东莞工程网站建设php网站建设详细教程
  • 怎么用div布局做网站广州市天河区住房和建设局网站
  • 长沙市网站推广电话自己做网站要买什么
  • 重庆专业微信网站制作南昌县网页设计
  • 胶南网站制作哪有做奇石网站
  • 外贸网站建设有什么需要注意的吗顺德精品网站建设
  • 最新设计网站大全深圳网站建设公司怎么样
  • 网站规划和网站建设晋江做网站的公司
  • 网站建设 方案下载如何把一个静态网站
  • seo做多个网站wordpress显示阅读量
  • 建设一个校园网站的可行性建e网室内设计网现代简约
  • 河南省建设厅网站建设领域涉黑诸城做网站收费
  • 网页设计新建站点沂水做网站
  • 新手如何开微商城店百度关键词如何优化
  • 手机免费制作网站模板免费下载温州本地网站平台
  • 做学校和企业对接的网站做模板网站的公司
  • 哪里有html企业网站模板下载电子商务网站设计模板