虚拟dom就是一个描述真实dom的js对象
虚拟dom真的快吗
- 直接进行 DOM 操作永远是最快的
- 为了让开发变得简单, 我们发明了
reactvue reactvue最小的单位是组件- 一个组件可以有很多dom元素
- 当组件更新时, 并不需要更新所有的dom
- 如果没有虚拟dom,
- 组件里的所有dom都会更新
- 如果有虚拟dom,
- 可进行diff算法
- diff算法, 减少了dom的更新频率
- diff算法, 减少了dom的更新数量
跨平台
跨平台,虚拟dom不仅可以变成DOM,还可以变成小程序,IOS,安卓应用,因为虚拟dom本质上只是一个js对象
请用虚拟dom 翻译下面 JSX
<ul className="list">
<li>JSPang</li>
<li>Hello</li>
</ul>
let child01 = React.createElement('li', null, 'JSPang')
let child02 = React.createElement('li', null, 'Hello')
let root = React.createElement('ul', {className: 'list'}, child01, child02)
function createElement(tag, attr, ...children) {
return {
tag,
attr,
children
}
}