VirtualDOM是react在组件化开发场景下,针对DOM重排重绘性能瓶颈作出的重要优化方案,而他最具价值的核心功能是如何识别并保存新旧节点数据结构之间差异的方法,也即是diff算法。...dom,在实际中,我们通常希望一个无状态的vnode
// 并且我们通过state来创造vnode
// react使用具有render方法的对象来作为组件,这个组件可以接受props和state
/.../h.js
包装函数一共注意三点
对svg的包装,创建svg需要namespace
将vdom.text统一转化为string类型
将vdom.children中的string element转化为textNode...== null) {
// 将新创建的element添加到parent中
api.insertBefore(parent, vnode.elm, api.nextSibling(...,并在patch之后,将这个oldVnode置为undefined(oldCh[idxInOld] = undefined),同时将oldVnode.elm位置变换到当前oldStartIdx之前,以免影响接下来的遍历