render
- 如果vnode为空 执行 unmount; 否则 patch
const render: RootRenderFunction = (vnode, container, isSVG) => {
if (vnode == null) {
if (container._vnode) {
unmount(container._vnode, null, null, true)
}
} else {
patch(container._vnode || null, vnode, container, null, null, null, isSVG)
}
flushPostFlushCbs()
container._vnode = vnode
}

该段代码描述了虚拟DOM的渲染过程。当vnode为空时执行卸载操作,否则进行DOM的更新。这确保了UI与数据模型的一致性,并优化了更新性能。最后,调用flushPostFlushCbs来处理后续任务,并更新container的_vnode属性。

被折叠的 条评论
为什么被折叠?



