实现函数组件
函数组件其实就是一个函数。
而函数组件在被解析成 VDom 的时候,是直接将函数赋值给 VDom.type。
而 Dom 元素被解析成 VDom 的时候,是将 tagName 赋值给 VDom.type。
这样,如果是函数组件的话,我们需要先执行 VDom.type 这个函数,才能拿到其返回的带有 tagName 的 VDom。
这样就依据是否是 typeof x === "function" 来分别处理:
- 创建 DOM
- 处理 Children
另外还需要处理:
- 处理查找 parent DOM 和 children DOM 的逻辑(需要越过没有 DOM 的 FC)
- 支持传入
props - ...