【发布时间】:2021-07-15 07:44:41
【问题描述】:
h 和 createVNode 都从 vue 公开。
doc 似乎表明它们是相同的:
h() 函数是一个用于创建 VNode 的实用程序。它可能更准确地命名为 createVNode()。
但是将h 切换到createVNode 会抛出:
<script lang="ts">
import { createVNode, defineComponent, h } from 'vue'
export default defineComponent({
setup() {
// works
return () => h('strong', 'Foo')
// throws
return () => createVNode('strong', 'Foo')
},
})
</script>
【问题讨论】:
-
正如文档所述,它们并不相同。
createVNode会是一个更好的名字.. 但它仍然被称为h。 -
createVNode是从vue暴露出来的,所以他们应该表现得一样吗?
标签: javascript vue.js vuejs3 virtual-dom vue-render-function