React 虚拟DOM

38 阅读1分钟
React 虚拟Dom,虚拟Dom就是一个 Js 对象
  1. 拿到state数据 constructor()
  2. 取Jsx模版 render()
  3. 数据 + 模版 生成虚拟Dom,虚拟Dom就是一个Js对象,用它来描述真实Dom

虚拟 Dom:

[ 
  'div', {id: 'id'},
   [
      'span', {},
      'Hello World'
    ]
 ]

虚拟Dom生成真实的Dom来显示:

<div>
   <span>Hello World</span>
</div> 
  1. state发生变化 数据 + 模版 生成新的虚拟Dom

新的虚拟 Dom:

[ 
  'div', {id: 'id'},
   [
      'span', {},
      'bye bye'
    ]
 ] 
  1. 比较原始虚拟Dom和新的虚拟Dom的区别,找到变化的内容
  2. 最后直接操作Dom,改变变化的内容

虚拟Dom生成真实的Dom来显示:

<div>
   <span>bye bye</span>
</div>