zoukankan      html  css  js  c++  java
  • react diff 极简版

      为什么react这么快呢 

      因为react用了虚拟DOM;

      但是每次虚拟DOM转真实DOM不也是很浪费性能吗

      nice,所以关键点在Diff算法这里,去对比新旧DOM树,而后通过补丁去更新到真实DOM上

      这个比对不是也很浪费时间吗

      正常情况下,比较两个树形结构差异的算法的时间复杂度是O(N^3),这个效率显然是无法接受的。

      react通过总结DOM的实际使用场景提出了两个在绝大多数实践场景下都成立的假设,基于这两个假设,React实现了在O(N)时间复杂度内完成两棵虚拟DOM树的比较。

      两个假设是:

        (1)如果两个元素的类型不同,那么它们将生成两棵不同的树;

        (2)为列表中的元素设置key属性,用key标识对应的元素在多次;

      面对性能优化我们能做什么呢

        1、使用生产环境版本的库;

         2、避免不必要的组件渲染;

         3、使用key;  

      

      

  • 相关阅读:
    NLP入门之语音模型原理
    NLP入门之语音模型原理
    NLP入门之语音模型原理
    TCP/IP 协议
    TCP/IP 协议
    TCP/IP 协议
    TCP/IP 协议
    Android -- 官方下拉刷新SwipeRefreshLayout
    Android -- 官方下拉刷新SwipeRefreshLayout
    创业屡战屡败,如何找回激情?
  • 原文地址:https://www.cnblogs.com/webcabana/p/11236227.html
Copyright © 2011-2022 走看看