zoukankan      html  css  js  c++  java
  • 关于react虚拟DOM的研究

    1、传统的前端是这样的,我在学校也都是这样做的,html(jsp)主要负责提供所有的DOM节点,而javascript负责动态效果,比如按钮点击,图片轮播等,这样的话javascript如何组织结构是个问题,一方面可以一个界面跟一个javascript但是会导致javascript文件太多,也可以写个公共的javascript但是这样的话就显得比较混乱。

    2、有一些模式比如MVC、MCP可以解决代码组织上的问题。传统的做法还有就是javascript会频繁的操作DOM,而DOM操作很耗性能,要是有个状态来绑定界面就完美了,这样的话不用频繁操作DOM,根据状态来自动操作DOM,MVVM框架应运而生,但是自动操作DOM并不能改变操作的频率和性能,要是有个框架能根据状态的最终值来操作DOM是不是就减少频率了呢,而且这个框架只更新改变的地方,react再次应运而生。

    3、react核心state和diff算法,前者保证状态和视图(组件)的绑定,后者保证更新改变的地方。这样一来,用javascript频繁操作DOM改为操作state当然更快了。对于diff算法对目录 树深度遍历将虚拟DOM和真实DOM找不同。

                                                                                                          图1

  • 相关阅读:
    Day-10: 错误、调试和测试
    Day-9: 面对对象高级编程
    json文件解析
    sqlite3入门之sqlite3_get_table,sqlite3_free_table
    sqlite3入门之sqlite3_open,sqlite3_exec,slite3_close
    字符集编码与字符大小
    让ubuntu下的eclipse支持GBK编码
    使用virtualbox安装unbuntu开启共享文件夹时遇到的权限问题
    QT--信号与槽
    QT--初识
  • 原文地址:https://www.cnblogs.com/xizhenghe/p/8042033.html
Copyright © 2011-2022 走看看