京东的电子网站建设百度推广登录网站

web/2025/10/7 4:22:34/文章来源:
京东的电子网站建设,百度推广登录网站,商城网站怎么建设,wordpress弹幕播放器插件文章目录 React Diff算法一、它的作用是什么#xff1f;二、React的Diff算法1.了解一下什么是调和#xff1f;2.react的diff算法3.React Diff的三大策略4.tree diff#xff1a;1、如果DOM节点出现了跨层级操作#xff0c;Diff会怎么办? 5. component diff#xff1a;6. e… 文章目录 React Diff算法一、它的作用是什么二、React的Diff算法1.了解一下什么是调和2.react的diff算法3.React Diff的三大策略4.tree diff1、如果DOM节点出现了跨层级操作Diff会怎么办? 5. component diff6. element diff6. element diff 总结 React Diff算法 diff算法是虚拟DOM产生的一个概念用来计算出虚拟DOM中真正变化的部分并只针对该部分进行原生DOM操作而非重新渲染整个页面从而提高了页面的渲染效率。 一、它的作用是什么 渲染真实DOM的开销很大有时候我们修改某个数据时直接渲染到真实DOM上会引起整个DOM树的重绘和重排。我们希望只更新我们该的那么一小块DOM而不是整个DOMdiff算法就帮我们实现了这一点。 diff算法本质就是找出两个对象之间的差异目的是尽可能做到节点复用。 二、React的Diff算法 1.了解一下什么是调和 将virtualDOM虚拟DOM转换成actualDOM真实DOM的最少操作过程就叫调和简单理解就是简化算法复杂度。 2.react的diff算法 react的diff算法就是实现了上述的调和简化了算法的复杂度。 3.React Diff的三大策略 react用tree diff(树比较)、component diff组件比较、element diff元素比较三大策略将O(n^3)的复杂度转化为O(n)的复杂度 (1) 策略一tree diffWeb UI中DOM节点跨层级的移动操作特别少可以忽略不计。 (2) 策略二component diff拥有相同类的两个组件生成相似的树形结构拥有不同类的两个组件生成不同的树形结构。 (3) 策略三element diff对于同一层级的一组子节点通过唯一id区分。 4.tree diff (1) React通过updateDepth对比Virtual DOM树进行层级控制。 (2) 对树分层比较两颗树只对同一层次节点进行比较。如果该节点不存在时则该节点及其子节点会被完全删除不会再进一步比较。 (3) 只需遍历一次就能完成整颗DOM树的比较。 1、如果DOM节点出现了跨层级操作Diff会怎么办? Tree Diff是对树的每一层进行遍历如果某组件不存在了则会直接销毁。 5. component diff (1) 同一类型的两个组件按原策略(层级比较)继续比较Virtual DOM树即可。 (2) 同一类型的两个组件组件A变化为组件B时可能Virtual DOM没有任何变化如果知道这点可节省大量计算时间所以用户可以通过shouldComponentUpdate()来判断是否需要判断计算。 (3) 不同类型的组件将一个组件判断为dirtycomponent脏组件从而替换整个组件的所有节点。 注意如上图所示当组件D变为组件G时即使这两个组件结构相似一旦React判断D和G是不用类型的组件就不会比较两者的结构而是直接删除组件D重新创建组件G及其子节点。虽然当两个组件是不同类型但结构相似时进行diff算法分析会影响性能但是毕竟不同类型的组件存在相似DOM树的情况在实际开发过程中很少出现因此这种极端因素很难在实际开发过程中造成重大影响。 6. element diff 当节点处于同一层级时diff提供三种节点操作删除、插入、移动。 插入组件C不在集合(A,B)中需要插入。 删除 组件D在集合(A,B,D)中但D的节点已经更改不能复用和更新所以需要删除旧的D再创建新的。组件D之前在集合(A,B.D)中但集合变成新的集合(A,B)了D就需要被删除。 移动组件D已经在集合(A,B,C,D)里了且集合更新时D没有发生更新只是位置改变如新集合(A,D,B,C)D在第二个无需像传统DIFF让就集合的第二个B和新集合的第二个D比较并且删除第二个位置的B在第二个位置插入D而是添加唯一key进行区分移动即可。 (1)B不移动不赘述更新l astIndex1 (2)新集合取得 E发现旧不存在故在lastIndex1的位置 创建E更新lastIndex1 (3)新集合取得CC不移动更新lastIndex2 (4)新集合取得AA移动同上更新lastIndex2 (5)新集合对比后再对旧集合遍历。判断 新集合 没有但 旧集合 有的元素如D新集合没有旧集合有发现 D删除Ddiff操作结束。 6. element diff 基于tree diff 开发组件时注意保持DOM结构的稳定即尽可能少地动态操作DOM结构尤其是移动操作。当节点数过大或者页面更新次数过多时页面卡顿的现象会比较明显。这时可以通过 CSS 隐藏或显示节点而不是真的移除或添加 DOM 节点。 基于component diff 注意使用 shouldComponentUpdate() 来减少组件不必要的更新。对于类似的结构应该尽量封装成组件既减少代码量又能减少component diff的性能消耗。 基于element diff 对于列表结构尽量减少类似将最后一个节点移动到列表首部的操作当节点数量过大或更新操作过于频繁时在一定程度上会影响 React 的渲染性能。 总结 提示这里对文章进行总结 例如以上就是今天要讲的内容本文仅仅简单介绍了pandas的使用而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/88279.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站建设需要有什么特点wordpress 列表页输出

作者:Salini Agarwal 排版:Alan Wang 今天,我们发布了针对 .NET Framework 的2023 年 8 月安全和质量汇总更新。 安全 CVE-2023-36899 – .NET Framework 远程代码执行漏洞 此安全更新修复了 IIS 上的应用程序存在的一个漏洞,该…

成都市成华区建设路商务中心网站做网站电脑和手机都是一样可以看吗

在优化索引时,思考了一个问题,DATE, DATETIME, TIMESTAMP,还有INT存储的时间,在索引中哪个效率更高一些?索引存储的,如果单纯的测试,而不去了解底层存储的方式和类型就不能断言哪个类型的效率更…

安平县护栏网站建设网站建设如何存数据

实现 Interceptor接口 方法1 是初始化: 方法2和3重载 拦截: 方法3 是关闭: 但是flume是通过内部类创建对象的

电子商城网站开发多少钱WordPress添加前台投稿插件

张量的生成 如何判断一个张量的维数:看张量的中括号有几层 0 1 2 :零维数列 [2 4 6] : 一维向量 [ [1 2 3] [4 5 6] ] : 二维数组 两行三列 第一行数据为 1 2 3 第二行数据为 4 5 6 以此类推 n维张量有n层中括号 tf.zeros(%指定一个张量的维数%) 生成一…

防城港建设局网站成都旅游路线规划

Linux音频控制与Linux音频系统结构一样混乱。 长篇小说,经过多年的发展,默认的声音控制工具看起来像这样:设置音量级别的默认和唯一选项可能对于大多数用户来说是足够的,但是当您想要设置特定音频级别或为不同音频源定义各自的设置…

个人或主题网站建设 实验体会个人网站托管

前言:在日常的程序设计中,我们会经常使用到字符串。比如一个人的身份证号,家庭住址等,只能用字符串表示。在C语言中,我们经常使用字符数组来存储字符串,但是某些场景(比如插入,删除)下操作起来很…

建设银行网站查余额查询百度域名注册

通用语法及分类 DDL: 数据定义语言,用来定义数据库对象(数据库、表、字段)DML: 数据操作语言,用来对数据库表中的数据进行增删改DQL: 数据查询语言,用来查询数据库中表的记录DCL: 数据控制语言,用来创建数…

如何创建二级域名网站学校网站查询

Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面&#xff0…

优化网站方法网站建设的几个阶段

有时候,网页上需要提供将当前页面上的数据导出为本地文件的功能,例如将页面上的一个表格导出为csv文件。这个功能看似简单,实际上却没有什么直接的方法。由于导出文件的操作(比如浏览文件目录,创建本地文件等&#xff…

山东省和住房城乡建设厅网站首页智慧团建如何转团关系

1、No database selected Select the default DB to be used by double-clicking its name in the SCHEMAS list in the sidebar 方法一:双击你要使用的库 方法二:USE 数据库名 2、复制表名,字段名 3、保存链接

asp.net 4.0网站建设基础教程学设计的培训机构

1.1 实验名称 恶意软件样本行为分析 1.2 实验目的 1) 熟悉 Process Monitor 的使用 2) 熟悉抓包工具 Wireshark 的使用 3) VMware 的熟悉和使用 4) 灰鸽子木马的行为分析 1.3 实验步骤及内容 第一阶段:熟悉 Process Monitor 的使用 利用 Process …

制作网站的图片哪来阿里云云服务器官网

引言: 过去几周我一直在涉足深度学习领域,尤其是卷积神经网络模型。最近,谷歌围绕街景多位数字识别技术发布了一篇不错的paper。该文章描述了一个用于提取街景门牌号的单个端到端神经网络系统。然后,作者阐述了基于同样的网络结构…

玉林住房和城乡建设部网站邢台网站维护

前提 el-select属性 popper-append-to-body 必须 为 false。这样初始化的列表 el-select-dropdown 才在 el-select下;目前测试,仅对 Cesium.Viewer 生成的 canvas 点击时列表无法自动关闭;使用原生 canvas 和 echarts,点击其场景…

模板网站和定制网站的优劣势对比郑州高端网站定制建设

曲线拟合已知离散点上的数据集 ,即已知在点集 上的函数值 ,构造一个解析函数(其图形为一曲线)使 在原离散点 上尽可能接近给定的值,这一过程称为曲线拟合。最常用的曲线拟合方法是最小二乘法,该方法是寻找函数 使得 最小。MATLAB函…

四川网站备案核验单做网站运营的要求

获取安装包 可以访问mysql 官网下载压缩安装包 (官网地址:https://downloads.mysql.com/archives/community/) 根据自己的需要,下载对应mysql版本,我选择是是8.0.16版本 安装 解压之后,可以看到压缩包…

学院网站源码汕头网络推广教程

文章目录 1 里程碑2 专栏梳理2.1 已有专栏整理2.2 新开的专栏 1 里程碑 前段时间我也达到了两千粉丝,也成为了CSDN人工智能领域的博客新星,算是一个小小的里程碑吧,所以我决定将自己之前的文章系统梳理,然后同时也进行未来文章的…

天津效果图制作公司如何优化网站代码

一、情景描述 我们在日常学习中,经常会忘记自己的虚拟机中MySQL的root密码。 这个时候,我们要想办法重置root密码,从而,解决root登陆问题。 二、解决办法 1、修改my.cnf配置文件并重启MySQL 通过修改配置文件,来跳…

做网站需要买服务器酒店建筑设计

目录 一、池化层 1、最大池化层 2、平均池化层 3、总结 二、代码实现 1、最大池化与平均池化 2、填充和步幅(padding和strides) 3、多个通道 4、总结 一、池化层 1、最大池化层 2、平均池化层 3、总结 池化层返回窗口中最大或平均值环节卷积层对位置的敏感性同样有窗口…

彩票网站制作找谁生成短链接

基于SpringBoot的“体育购物商城”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统总体模块设计 前台用户登录界面 系统首页界面…

spring做网站wordpress电脑主题

规则引擎更新功能 新增: 1、新增SQL变量: SQL变量通常指的是在执行SQL查询时使用的动态变量。这些变量允许在查询中注入或更改某些值,以便根据不同的条件或输入执行不同的查询。 1.1 新增自定义SQL语言进行数据查询; 用户可以使用自定义的…