输入'类:字符串; ' 不可分配给类型 'DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>'

Posted

技术标签:

【中文标题】输入\'类:字符串; \' 不可分配给类型 \'DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>\'【英文标题】:Type ' class: string; ' is not assignable to type 'DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>'输入'类:字符串; ' 不可分配给类型 'DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>' 【发布时间】:2022-01-15 00:53:50 【问题描述】:

我正在使用 vue、ts、vite 扩展名。

在 Vs 代码中,我得到了错误 Type ' class: string; ' is not assignable to type 'DetailedhtmlProps&lt;HTMLAttributes&lt;HTMLDivElement&gt;, HTMLDivElement&gt;'. Property 'class' does not exist on type 'DetailedHTMLProps&lt;HTMLAttributes&lt;HTMLDivElement&gt;, HTMLDivElement&gt;'. Did you mean 'className'?ts(2322)

当我为class&lt;div class=""&gt;&lt;/div&gt;

当我将鼠标悬停在 div 上时,我看到了 (property) div: React.DetailedHTMLProps&lt;React.HTMLAttributes&lt;HTMLDivElement&gt;, HTMLDivElement&gt;

我不知道是什么让 vs 代码假设我正在使用 react。文件类型为.vue

我禁用了 eslint,但仍然出现错误。它在我运行应用程序时有效,但在 vscode 中看到该错误很烦人。

我应该添加一些d.ts 文件吗?

【问题讨论】:

文件类型是什么?你在写jsx吗? @vatz88 不,是.vue @vatz88 我正在使用脚本设置(v3.vuejs.org/api/sfc-script-setup.html) 使用内部类型然后 (DetailedHTMLProps&lt;HTMLAttributes&lt;HTMLDivElement&gt;, HTMLDivElement&gt;) 或更改您的类型,因为 DOM 元素确实不包含 class 属性,也许您的意思是 className / classList 你也可以使用type extendedType = DetailedHTMLProps&lt;HTMLAttributes&lt;HTMLDivElement&gt;, HTMLDivElement&gt; &amp; class: string 扩展类型 【参考方案1】:

添加此修复它。见这里:https://github.com/johnsoncodehk/volar/discussions/592

// tsconfig.json

  "compilerOptions": 
    // ...
    "types": [
      "vite/client", // if using vite
      // ...
    ]
  

我认为当我添加故事书时它添加了反应类型

【讨论】:

以上是关于输入'类:字符串; ' 不可分配给类型 'DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>'的主要内容,如果未能解决你的问题,请参考以下文章

在 Immutable.js 中,类型“字符串”不可分配给 keyof

打字稿 - 字符串'不可分配给类型'FC

输入'元素 | undefined' 不可分配给类型 'ReactElement<any, string | ((道具:任何)

如何修复“类型'字符串'不可分配给类型'从不'”?

类型“字符串”不可分配给类型“日期”[关闭]

输入'元素 | undefined' 不可分配给类型 'FC<any> |不明确的'