【问题标题】:Typescript Error: TS2339: Property 'span' does not exist on type 'JSX.IntrinsicElements'打字稿错误:TS2339:“JSX.IntrinsicElements”类型上不存在属性“span”
【发布时间】:2017-12-07 11:36:04
【问题描述】:

突然之间,我的 react typescript 项目开始拒绝带有

<span> 标签
TS2339: Property <span> does not exist on type 'JSX.IntrinsicElements'

所有其他标签都很好,但&lt;span&gt;s 在我的.tsx 文件中的任何位置都会抛出此错误。

谁能给点建议?

【问题讨论】:

    标签: reactjs typescript


    【解决方案1】:

    我遇到了同样的问题,但对我来说,是 p 元素。 错误的原因是我将 p 元素重构为 h3 例如,VSCode 也更改了类型定义。

    正如你指出的清理 node_modules 并做一个新的 npm install 就可以了。

    只是想指出可能导致问题的原因。

    【讨论】:

    • 您是否报告了针对 VSCode 的缺陷?修改节点模块目录下的文件似乎是虚假的。
    • 说实话。我没有。没想到这可能是一个错误。
    • 谢谢。我有这个完全相同的问题。在 VSCode 中通过 F2 重构(重命名)一个元素,并在 node_modules/@types/react/index.d.ts 中重命名了 interface IntrinsicElements 中 div 的类型定义。
    • 是的,对我来说同样的问题......发现在 JSX 标记名称中使用重命名似乎会在整个项目中重命名该 HTML 标记的每个实例,甚至影响 node_modules正如我们所发现的那样。
    • 只需 npm uninstall @types/reactnpm install @types/react 也可以,对我来说没有必要删除整个 node_modules。有些人需要很长时间才能删除它嘿
    【解决方案2】:

    谁能给点建议?

    • 确保您的文件中有import * as React from 'react'
    • 更新类型的反应npm install @types/react

    【讨论】:

    • 我清除并“npm install”-ed 我的包,一切都自行整理好,所以将此答案标记为最接近。
    【解决方案3】:

    我对部分元素有同样的问题。 从字面上看,对我有用的是: 删除类型声明 - JSX.Element 和元素,并返回它们。 在接受 VSCode 之后。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-12
      • 1970-01-01
      • 2016-08-11
      • 2018-03-15
      • 2019-02-18
      • 2018-11-08
      • 2016-09-21
      • 2020-12-18
      相关资源
      最近更新 更多