关于vue3的h函数ts检测下类型问题

比如我引入了antd的Table组件和自己的组件(通过export default defineComponent({})写法),

import { Table } from 'ant-design-vue';
import Aa from './aa.vue';

然后用h去写的时候第一个参数应该直接用变量还是字符串,我发现直接

h(Table,{},'')
h(Aa,{},'')

是能正常渲染的,但是eslint会报红,如果我把这俩组件注册后,然后

components: {
    Table,
    Aa
  }

h('Table',{},'')
h('Aa',{},'')

是渲染不出来的,显示的是自定义组件名(当然Table会变成table),
所以我想知道

  1. 如果第一参数传字符串的话我应该怎样操作;
  2. 如果我直接把变量传第一参数,那么类型应该是怎样的,我现在是断言的any,看了下h的声明,也不知道应该用怎样的写法
    有时控制台报

    Invalid VNode type: Symbol(Fragment) (symbol)

    求教怎么解决

阅读 1.8k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题