iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >react15与16版本的区别是什么
  • 420
分享到

react15与16版本的区别是什么

2024-04-02 19:04:59 420人浏览 安东尼
摘要

这篇文章主要介绍“React15与16版本的区别是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“react15与16版本的区别是什么”文章能帮助大家解决问题。

这篇文章主要介绍“React15与16版本的区别是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“react15与16版本的区别是什么”文章能帮助大家解决问题。

不同:1、15版本架构分为协调器和渲染器两部分,而16版本架构分为调度器、协调器和渲染器三个部分;2、15版本的reconciler是采用递归形式工作是同步的,而16版本的reconciler采用的是异步可中断更新代替15版本的同步更新。

教程操作环境:windows10系统、react17.0.1版、Dell G3电脑。

react15与16版本的不同是什么

一.react15的架构可以分为两层:

Reconciler(协调器)— 找出需要更新的组件,以及标识出如何更新

Renderer(渲染器)— 负责将变化后的组件渲染到页面上

二.react16的架构可以分为三层:

Scheduler(调度器)— 调度任务的优先级,高级优先级的优先进入Reconciler阶段

Reconciler(协调器)— 找出需要更新的组件,以及标识出如何更新

Renderer(渲染器)— 负责将变化后的组件渲染到页面上

说在前头:

浏览器的16.6ms机制

对人眼来说,正常流畅的刷新率为60hz,即60帧,即浏览器16.6ms刷新一次。

我们知道js可以操作dom元素,所以浏览器的GUI线程和js线程是互斥的。js的执行和浏览器的绘制、布局不能同时进行。所以在每16.6ms内浏览器要执行如下操作:

JS脚本执行 ------ 浏览器样式布局 ------ 浏览器样式绘制

如果js脚本执行时间过长,超过16.6ms,这次刷新中浏览器绘制和布局就无法执行,这就会造成人眼可识别的卡顿,发现操作时浏览器没有“实时”做出反应。如:对于用户在输入框输入内容这个行为来说,就体现为按下了键盘按键但是页面上不实时显示输入。

15和16区别

react15的reconciler是stack-reconciler。即是采用递归形式工作的,是同步的,在生成虚拟dom树并diff过程中是无法中断的。这样在组件层级过深时,会造成js执行时间过长,浏览器无法布局和绘制,造成丢帧。

react16的reconciler是fiber-reconciler。即采用的异步可中断更新代替react15的同步更新,react16的scheduler调度器会告诉reconciler,浏览器是否有空闲时间执行js脚本。这样就不会影响浏览器的绘制和布局工作。不会丢帧。

在react16中,原来的虚拟DOM,因其结构已不能满足异步可中断更新的需求,改而采用新的结构Fiber。虚拟dom节对应变为Fiber节点,虚拟dom树对应变为Fiber树。

关于“react15与16版本的区别是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网JavaScript频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: react15与16版本的区别是什么

本文链接: https://www.lsjlt.com/news/97353.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • react15与16版本的区别是什么
    这篇文章主要介绍“react15与16版本的区别是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“react15与16版本的区别是什么”文章能帮助大家解决问题。 ...
    99+
    2024-04-02
  • xp各版本的区别是什么
    这篇文章主要介绍“xp各版本的区别是什么”,在日常操作中,相信很多人在xp各版本的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”xp各版本的区别是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-07-01
  • MySQL各个版本的区别是什么
    小编给大家分享一下MySQL各个版本的区别是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!MySQL 的官网下载地址:htt...
    99+
    2024-04-02
  • git与SVN版本控制优缺点区别是什么
    这篇文章主要讲解了“git与SVN版本控制优缺点区别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“git与SVN版本控制优缺点区别是什么”吧!Git和SVN的区别(1)SVN(集中式版...
    99+
    2023-06-30
  • 基于SpringBoot2.0版本与老版本的区别
    目录SpringBoot版本问题这是maven依赖一、解决方案二、解决方案SpringBoot2.0版本新特性 以Java 8 为基准 Spring Boot 2.0 要求Java ...
    99+
    2024-04-02
  • mysql服务器版本和客户端版本的区别是什么
    MySQL 服务器版本和客户端版本的区别主要在于功能和应用范围上的差异:1、功能差异MySQL 服务器版本提供了完整的数据库管理功能...
    99+
    2023-03-14
    mysql服务器版本 mysql 服务器
  • OJDBC版本间有什么区别
    这篇文章主要讲解了“OJDBC版本间有什么区别”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“OJDBC版本间有什么区别”吧!OJDBC版本区别 连接类型:1、JDBC OCI: o...
    99+
    2023-06-04
  • Windows Server 2008R2,2012,2016,2019各系统版本的区别是什么
    本篇文章为大家展示了Windows Server 2008R2,2012,2016,2019各系统版本的区别是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。最近微软发布了20...
    99+
    2023-06-22
  • pycharm社区版跟专业版的区别是什么
    这篇文章主要介绍“pycharm社区版跟专业版的区别是什么”,在日常操作中,相信很多人在pycharm社区版跟专业版的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”pycharm社区版跟专业版的区别...
    99+
    2023-07-02
  • Python2.x与3.x版本区别
                              Python2.x与3.x版本区别   Python的3.0版本,常被称为Python 3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。    为了不带入过多的...
    99+
    2023-01-31
    区别 版本
  • Python2.x与3​​.x版本区别
    Python 3.0的变化主要在以下几个方面: print 函数 print语句没有了,取而代之的是print()函数。 Python 2.6与Python 2.7部分地支持这种形式的print语法。在Python 2.6与Python 2...
    99+
    2023-01-31
    区别 版本
  • package.json版本号符号^和~前缀的区别是什么
    这篇文章主要介绍“package.json版本号符号^和~前缀的区别是什么”,在日常操作中,相信很多人在package.json版本号符号^和~前缀的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”p...
    99+
    2023-07-02
  • SpringBoot2.7.6整合redis与低版本的区别
    Spring Boot 2.7.6整合redis与低版本的区别 最近在写程序的时候参考了之前写过的一篇文章spring boot整合redis中间件与热部署实现在参考方法是出现了很多...
    99+
    2023-02-02
    Spring Boot 2.7.6整合redis Spring Boot 低版本redis SpringBoot使用Redis
  • Mysql各个版本有什么区别
    本篇内容介绍了“Mysql各个版本有什么区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、Mysql ...
    99+
    2024-04-02
  • jquery普通版本与min版本有哪些区别
    本篇内容介绍了“jquery普通版本与min版本有哪些区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • linux中dvd版本与cd版本有哪些区别
    这篇文章主要讲解了“linux中dvd版本与cd版本有哪些区别”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux中dvd版本与cd版本有哪些区别”吧!linux中dvd版本与cd版本的...
    99+
    2023-07-02
  • Java2平台J2SE、J2EE、J2ME三大版本的区别分别是什么
    本篇文章为大家展示了Java2平台J2SE、J2EE、J2ME三大版本的区别分别是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。向大家简单介绍一下J2SE、J2...
    99+
    2024-04-02
  • win7纯净版与ghost版有什么区别
    win7作为微软最经典的系统深受广大用户喜爱,但是用户在安装win7时会发现有很多版本,那么win7纯净版与ghost版有什么区别呢win7纯净版好还是ghost版好那么接下来小编就来给大家介绍一下win7纯净版与ghost版有什么区别。何...
    99+
    2023-07-10
  • HBase与Hive的区别是什么
    这篇文章主要介绍“HBase与Hive的区别是什么”,在日常操作中,相信很多人在HBase与Hive的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”HBase与Hive的区别是什么”的疑惑有所帮助!...
    99+
    2023-06-03
  • web1.0与web2.0的区别是什么
    这篇文章主要介绍了web1.0与web2.0的区别是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。WEB1.0是以数据为核心的网,那我觉得WEB2.0是以人为出发点的互联...
    99+
    2023-06-10
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作