虚拟Dom

一、什么是虚拟Dom

虚拟Dom就是使用JS模拟真实Dom

 

二、为什么要使用虚拟Dom?

因为操作每一个真实Dom都数据量很大,如频繁操作会消耗内存与性能,并且每次操作Dom都会造成数据重复添加

比如,一个商品列表,需要做的是新增一个商品

使用真实Dom操作:渲染商品列表 -> 点击新增 -> 删除商品列表 -> 将新增商品加入商品列表中 -> 渲染列表   ( 在这个过程中页面会存在闪一下,有一瞬间是删除-新增的过程 )

使用虚拟Dom操作:渲染商品列表 -> 点击新增 -> 在商品列表的基础上新增 ->  渲染列表 (整个过程只是其他商品列表不会改变,改变的只是新增的商品)

 

三、虚拟Dom的作用?

1. 维护视图和状态的关系 (用上一次状态与修改等状态进行对比,如果有差异,则更新)

2. 复杂视图情况下提升渲染性能

3. 除了渲染DOM以外,还可以实现 SSR  ( Nuxt.js / Next.js ), 原生应用 ( Weex / React Native ), 小程序  ( mpvue / uni-app ) 等

 

四、虚拟Dom库

Snabbdom:注重简单性,模块化,强大特性和性能的虚拟Dom库

 

posted @ 2020-11-02 09:37  小短腿奔跑吧  阅读(105)  评论(0编辑  收藏  举报