错误TS2602:JSX元素隐式具有类型"any",因为全局类型"JSX.Element"不存在

Ric*_*ard 5 typescript reactjs typescript-typings

即使我已经安装并引用了Typings库'react',就像这样

/// <reference path="../../../typings/browser.d.ts" />

我仍然收到以下错误: 在此输入图像描述

我还应该安装另一个打字库吗?

Gus*_*imo 382

我通过重新加载 VSCode 解决了这个问题。

\n

Ctrl+ Shift+ P--\n \xe2\x8c\x98+ shift+P

\n

然后输入:Developer: Reload Window

\n

  • 就是ctrl+shift+P (12认同)
  • 重新启动 TypeScript 语言服务器可能就足够了: `CMD`+`P` &gt; `Typescript: Restart TS Server` (输入 `rets`) (8认同)
  • 从 React-dom 16.x 升级到 17 后,我遇到了这个问题。重新加载窗口解决了这个问题。谢谢! (2认同)
  • 对我来说是 `cmd` + `shift` + `p` 看起来像 `cmd` + `p` 没有 shift 会为我带来文件搜索 (2认同)

Dan*_*nes 48

我通过安装 react 类型定义解决了这个问题。

尝试运行 yarn add --dev @types/react

  • 对于 npm,“npm install --dev @types/react” 有效 (32认同)
  • 如果您将yarn与Typescript一起使用并且确实有node_modules,请使用Yarn为您的编辑器添加Typescript支持。运行:`yarn dlx @yarnpkg/sdks vscode`。VSCode 会提示您允许它。 (3认同)

Abd*_*han 24

发生这种情况是因为您的 Typescript IntelliSense 无法正常工作。

1:要解决此问题,只需关闭并重新打开代码编辑器,一切都会变得非常顺利!

2:对于此问题还有另一个快速解决方法,只需按 (Windows: ctrl + shift + p) 或 (Mac: cmd + shift + p),然后搜索Typescript:Restart TS server按 Enter 键即可完成。


dar*_*ino 18

Typings中有两个版本的React.我已经看到了这一问题typings install react,并使用noImplicitAny.

我通过安装全局版本解决了这个问题: typings install dt~react --global打字搜索反应结果

  • 我真的希望他们能合并他们的图书馆。不得不在多个地方处理全局\环境\主要冲突对我们的团队来说是一个无尽的麻烦:( (3认同)

Eri*_*yan 18

尝试运行这个:

1. npm i @types/react --save-dev

2. npm i @types/react-dom --save-dev
Run Code Online (Sandbox Code Playgroud)

对我有用。


小智 6

跑步:

npm i -D @types/react @types/react-dom
Run Code Online (Sandbox Code Playgroud)

然后确保您的 中包含以下内容tsconfig.json

npm i -D @types/react @types/react-dom
Run Code Online (Sandbox Code Playgroud)

理想情况下,这应该可以解决问题,如果没有,请尝试重新加载窗口。

干杯!


Ric*_*ard -9

手册上看,React必须有大写字母。问题中的代码显然没有。

  • 我认为值得让你知道为什么你(或未来的读者)被否决:只有 React 组件必须使用大写字母,而不是 html 元素 (9认同)