原文链接:http://www.infoq.com/cn/articles/subversion-front-end-ui-development-framework-react

在Web开发中,我们总需要将变化的数据实时反应到UI上,这时就需要对DOM进行操作。而复杂或频繁的DOM操作通常是性能瓶颈产生的原因(如何进行高性能的复杂DOM操作通常是衡量一个前端开发人员技能的重要指标)。

React为此引入了虚拟DOM(Virtual DOM)的机制:在浏览器端用Javascript实现了一套DOM API。基于React进行开发时所有的DOM构造都是通过虚拟DOM进行,每当数据变化时,React都会重新构建整个DOM树,然后React将当前整个DOM树和上一次的DOM树进行对比,得到DOM结构的区别,然后仅仅将需要变化的部分进行实际的浏览器DOM更新。尽管每一次都需要构造完整的虚拟DOM树,但是因为虚拟DOM是内存数据,性能是极高的,而对实际DOM进行操作的仅仅是Diff部分,因而能达到提高性能的目的。

最新文章

  1. sublime 编辑器配置和构建检查
  2. Java语言程序设计(基础篇)第二章
  3. jQuery 简介
  4. 关于TCP连接建立与终止那点事
  5. HTTP长连接和短连接原理浅析
  6. 25条提高Visual Studio编码和调试效率的技巧
  7. web后门排查与高效分析web日志技巧
  8. 线程间操作无效: 从不是创建控件“”的线程访问它~~~的解决方法~ 线程间操作无效: 从不是创建控件“Control Name'”的线程访问它问题的解决方案及原理分析
  9. [Unity菜鸟] 产生各不相同的随机数
  10. leetcode@ [91] Decode Ways (Dynamic Programming)
  11. 使用VS建立Web网站及IIS
  12. 51nod贪心算法入门-----任务分配问题
  13. DSASync: Managing End-to-End Connections in Dynamic Spectrum Access Wireless LANs
  14. 24位和8位BMP图片保存纯C代码
  15. java IO流文件的读写具体实例
  16. java 的序列化
  17. java包(package)
  18. linux+tomcat+jdk环境验证码无法显示
  19. 关于GPUImage的导入
  20. hbase-0.92.1集群部署

热门文章

  1. ifconfig命令详解
  2. java多线程心得
  3. dropdownlist 二级联动
  4. TFS统计编码行数语句
  5. 大型系统开发sql优化总结(转)
  6. 初级班 Linux使用
  7. Linux下批量替换文件内容方法
  8. java2实用教程102小程序(分数计算和流水线计算
  9. 你好,C++(29)脚踏两只船的函数不是好函数 5.4 函数设计的基本规则
  10. 提高PHP性能的方法技巧