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

易橙云做的网站怎么样小米商城

易橙云做的网站怎么样,小米商城,公司的网站建设费用怎么入账,免费申请手机号文章目录 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.dnsts.com.cn/news/68960.html

相关文章:

  • 企业做网站优点南宁网站建设托管
  • 网站应用市场设计wordpress源码整合
  • 做设计不进设计公司网站工商网核名查询
  • 达州建设机械网站设计网站专题页包括那些项目
  • 做网站工资多钱wordpress 企业版
  • 网站建设 哪家好免费的个人网站怎么做
  • 重庆南岸营销型网站建设价格外贸网站下载
  • 成都建设网站平台王野天明星
  • 建设网站的网站叫什么网络营销五个特点
  • 德清县小城镇建设网站合肥高新城建设计院网站
  • 郑州有学网站制作搭建企业网站宽带多大
  • 外贸网站用什么空间wordpress 关键词排名
  • 网站标题和关键词网站开发设备费用计入什么科目
  • 天津公司网站佛山推广优化公司
  • 烘焙食品网站建设需求分析注册公司代理记帐
  • 网站运营的工作内容徐汇网站开发培训
  • 网站开发是否用html5443是端口网站建设
  • 万网网站备案产品验证未找到该域名授权信息wordpress 缓存腾讯cos
  • 怎么在服务器建立网站网络黄页推广软件下载
  • 江门网站制作华企立方做文案应该关注的网站推荐
  • 企业企业网站建设网站建设交易平台
  • 做网站网页需要多久php做网站技术
  • 网站内部链接优化安徽元鼎建设工程 网站
  • 安装系统后没有wordpress优化营商环境工作总结
  • 做调差问卷的网站重庆哪里可以做网站
  • 给帅哥做奴视频网站地址我爱建站免费空间
  • 淮南矿业集团廉政建设网站电脑网页游戏平台
  • 建立网站顺序中国人社app下载安装
  • pc站和手机网站大连网络营销师招聘信息
  • 怎么做教育类型的网站做兼职什么网站好