前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >React虚拟DOM是个什么套路?

React虚拟DOM是个什么套路?

作者头像
web前端教室
发布2018-02-06 16:11:34
6770
发布2018-02-06 16:11:34
举报
文章被收录于专栏:web前端教室web前端教室

React最大的亮点就是快!天下武功,唯快不破,它走的就是这条路。那么它的快是如何达成的呢?是通过虚拟DOM,也就是它所说的Virtual DOM了。

那这个虚拟DOM,它到底是个什么东西呢?一句话,它是一种JS的数据结构。

这个结构是怎么生成,怎么来的?咱们暂且不管,这方面自有React的diff算法搞定。我们要做的是正确的理解它。

我们大家都知道HTML的页面是由一层一层,一级一级的DOM节点,互相嵌套而成的。对于DOM的任何操作,文字啊、大小、位置、颜色等,只要有一点点改动,整个页面DOM重绘,而众所周知DOM重绘是很费时费工的。

而React对这个问题的解决思路是这样的,它通过数据层面的抽象,把HTML的DOM结构,映射为JS对象的键值对。并把这个对象保存在内存中,然后对于DOM的任何操作,都是相应的在内存中操作这个映射DOM结构的JS数据对象了。

你想想,这速度能不快么,第一在内存中操作是速度最快的;第二这种操作根本没有页面重绘。

然后你在内存中的操作都OK了,结构了,它再把你改动的地方,映射到实际的DOM中,进行重绘。

这就是React虚拟DOM的思路,说起来确实是很简单,几句话的事。但学起来还是需要我们下一定的功夫的。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-10-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 web前端教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档