仿写下Vue3中的渲染器(简易版)
首先,我们要清楚渲染器是干嘛的?模板经过编译生成渲染函数,而渲染函数的返回值就是虚拟Dom也就是描述真实Dom的js对象,而我们的渲染器要做的就是把虚拟Dom递归遍历按照原生Api完成对Dom的创建,也就是真实Dom的生成,也是最终页面的产生
目前先考虑两种情况,一种是直接挂载Dom元素,而另一种则是挂载组件
让我们先来试验着写一下挂载Dom元素的渲染器
文本节点的挂载

还有孩子挂载

接着来试验着写一下挂载组件
组件的实质就是一组对虚拟Dom元素的封装
如果我们将组件看成函数的话,那它的返回值不就是它所对应的虚拟Dom嘛
这么一看的话,好像两者有联系了,开始解耦,建立独立函数myRender
完善下