关于react虚拟DOM的研究
2017-12-15 11:10
405 查看
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
2、有一些模式比如MVC、MCP可以解决代码组织上的问题。传统的做法还有就是javascript会频繁的操作DOM,而DOM操作很耗性能,要是有个状态来绑定界面就完美了,这样的话不用频繁操作DOM,根据状态来自动操作DOM,MVVM框架应运而生,但是自动操作DOM并不能改变操作的频率和性能,要是有个框架能根据状态的最终值来操作DOM是不是就减少频率了呢,而且这个框架只更新改变的地方,react再次应运而生。
3、react核心state和diff算法,前者保证状态和视图(组件)的绑定,后者保证更新改变的地方。这样一来,用javascript频繁操作DOM改为操作state当然更快了。对于diff算法对目录 树深度遍历将虚拟DOM和真实DOM找不同。
图1
相关文章推荐
- react.js 从零开始(七)React (虚拟)DOM
- react 之虚拟dom
- ReactJS学习系列课程附加2(React虚拟DOM分析)
- 深刻理解React(-) --JSX和虚拟DOM
- 什么是渐进式框架?React虚拟Dom理解?
- 关于react-router/react-router-dom v4 history不能访问问题的解决
- React 虚拟DOM的理解
- React虚拟DOM的原理&&为什么使用虚拟DOM
- React学习(9)—— 高阶应用:虚拟Dom差异比对算法
- 关于React中状态保存的研究
- React生命周期和虚拟DOM
- 深刻理解 React (一) ——JSX和虚拟DOM
- 深刻理解 React (一) ——JSX和虚拟DOM
- React虚拟DOM具体实现——利用节点json描述还原dom结构
- 【React自制全家桶】二、分析React的虚拟DOM和Diff算法
- React 虚拟DOM的理解
- react 虚拟dom 的原理简单理解
- React 虚拟dom是如何实现的
- 浅谈React的最大亮点之虚拟DOM
- 关于React中状态保存的研究