美文网首页
js react/vue虚拟dom

js react/vue虚拟dom

作者: 鹏雨燕 | 来源:发表于2020-07-10 15:42 被阅读0次

在js中,真实dom属性太多,如果进行比对需要的空间和时间都比较多,所以用对象来代表一个真实dom,一般是包含以下属性的对象

<div>
        hello<span>world!</span>
</div>

{
  tag:'div',
  data:{},
  children:[],
  text:undefined, //文本
  ele:undefined, //真实节点
  key: undefined,
  attrs:[]
}

真实dom可以和虚拟dom之间转换

新旧dom比较


image.png

比较新旧虚拟dom相似方法很简单

function sameVnode(oldNode, newNode){
  return oldNode.key === newNode.key && oldNode.tag === newNode.tag
}

不相似则创建新的dom,相似则对oldNode打补丁,先比较class, style, attrs, events, props等,不同则调用update函数,oldNode如果没有新节点属性则增加新节点属性,子节点的比较用到了 diff算法,子节点比较递归打补丁。
参考文档 虚拟dom比较原理

相关文章

  • react生命周期 虚拟dom

    vue和react都使用虚拟dom:通过js构建dom树节点react生命周期:https://zh-hans.r...

  • 关于 Vue

    Vue.js 和 React 对比 相似之处:使用虚拟DOM,提供了响应式和组件化的视图组件 性能:Vue.js ...

  • 学习笔记(十六)Vue.js源码剖析 - 虚拟DOM

    Vue.js源码剖析 - 虚拟DOM 虚拟DOM概念回顾 什么是虚拟DOM? 虚拟DOM(Virtual DOM)...

  • Virtual DOM原理

    虚拟dom的实现,主要是通过控制数据来操作dom,Vue,React等框架都有用到,看代码目标dom js要想实现...

  • react和vue的渲染流程对比

    react和vue的渲染流程对比.md react是facebook创建的框架,它推广了虚拟dom和新的js语法-...

  • 虚拟DOM简介

    什么是虚拟DOM? 我们现在使用的三大主流框架Vue.js、Angular和React都是声明式操作DOM。我们通...

  • React基础篇之虚拟DOM

    Hello World JS创建虚拟DOM JSX创建虚拟DOM 虚拟DOM与真实DOM 下一篇:React基础篇...

  • vue render函数

    render 函数 虚拟 DOM Vue 通过建立一个虚拟 DOM对真实 DOM 发生的变化保持追踪 Vue.js...

  • js react/vue虚拟dom

    在js中,真实dom属性太多,如果进行比对需要的空间和时间都比较多,所以用对象来代表一个真实dom,一般是包含以下...

  • React 虚拟DOM详解

    什么是虚拟DOM react 中的 virtual DOM (虚拟DOM),其实就是JS对象。 众所周知,浏览器的...

网友评论

      本文标题:js react/vue虚拟dom

      本文链接:https://www.haomeiwen.com/subject/gzdmcktx.html