react diff 极简版

  为何react这么快呢 react

  由于react用了虚拟DOM;算法

 

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

  nice,因此关键点在Diff算法这里,去对比新旧DOM树,然后经过补丁去更新到真实DOM上性能

 

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

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

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

  两个假设是:渲染

    (1)若是两个元素的类型不一样,那么它们将生成两棵不一样的树;im

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

 

  面对性能优化咱们能作什么呢

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

     二、避免没必要要的组件渲染;

     三、使用key;  

 

 

  

  

相关文章
相关标签/搜索