react 为什么要重构架构

前言

重构架构是react16及16后的版本对15以前的版本的架构进行了重构,

React 15 的架构可以分为两层:

  • Reconciler(协调器) 负责找出变化的组件,以及标识出如何更新。
  • Renderer(渲染器) 负责将变化的组件渲染到页面上。

React 15 使用的是栈调和器,它是递归、同步的方式。这样的设计可以使组件更新简单、快速,有一些缺点,例如:

  • 更新一旦开始,中途就无法中断,可能会造成浏览器渲染卡顿。
  • 无法实现异步、分片、优先级等高级功能。
  • 无法兼容新的浏览器特性,如 requestIdleCallback 和 requestAnimationFrame。

React 16 的架构可以分为三层:

  • Scheduler(调度器),负责调度任务的优先级,高优任务优先进入
  • Reconciler(协调器)。Reconciler 负责找出变化的组件,以及标识出如何更新。
  • Renderer(渲染器), 负责将变化的组件渲染到页面上。¹²

React 16 使用的是全新的 Fiber 调和器,它是循环、异步、可中断的方式。这样的设计可以使组件更新更加灵活、高效带来了一些优点:

  • 可以在浏览器每一帧的时间中,预留一些时间给 JS 线程,避免长时间占用主线程,造成卡顿。
  • 可以实现异步、分片、优先级等高级功能,如 Concurrent Mode(并发模式)、Suspense(悬停)、Lazy Loading(懒加载)等。
  • 可以兼容新的浏览器特性,如 requestIdleCallback 和 requestAnimationFrame。

总结

重构 React 的架构的主要原因是为了提高 UI 的渲染性能和用户体验,解决 CPU 和 I/O 的瓶颈,实现异步、可中断、可恢复、可优先级的更新流程,以及支持一些新的特性,如 Time Slice(时间分片)、Suspense(悬停)、Lazy Loading(懒加载)、Concurrent Mode(并发模式),所以react15递归、同步的更新执行是不支持的,重构就必须来了

相关推荐
老蒋新思维9 分钟前
创客匠人万人峰会落幕:AI 智能体如何重塑知识变现的效率革命
大数据·人工智能·重构·创始人ip·创客匠人·知识变现
TT_44199 分钟前
缓存设计之探了又探
缓存·架构
神算大模型APi--天枢64615 分钟前
国产硬件架构大模型算力服务平台:本地化部署与标准端口开发的创新实践
大数据·人工智能·科技·深度学习·架构·硬件架构
九河云18 分钟前
华为云 GaussDB 分布式架构解析:企业级数据库高可用与性能调优方案
分布式·架构·华为云·云计算·gaussdb
上海云盾-小余21 分钟前
DDoS防护方案性价比分析
人工智能·安全·web安全·架构·ddos
canonical_entropy23 分钟前
对于《目前程序语言与软件工程研究中真正严重的缺陷是什么?》一文的解读
后端·架构·领域驱动设计
北极象29 分钟前
Electron 通用技术架构分析
javascript·架构·electron
GIOTTO情37 分钟前
技术深度:Infoseek 舆情监测的多模态架构与二次开发实战,破解 AI 生成式舆情痛点
人工智能·架构
赵财猫._.37 分钟前
React Native鸿蒙开发实战(八):打包发布与AppGallery上架
react native·react.js·harmonyos
zandy101144 分钟前
超越ChatBI交互层:衡石科技“语义层+Agent双引擎”如何重塑下一代BI架构
科技·架构