Javascript React Typescript-What';s import@types/react和import-react之间的区别

Javascript React Typescript-What';s import@types/react和import-react之间的区别,javascript,reactjs,typescript,import,Javascript,Reactjs,Typescript,Import,我是react的初学者,尽管我已经做了一些ReactJs,但今天我尝试使用TypeScript(而不是纯Javascript)创建一个简单的应用程序 然而,当运行npm start时,我发现了一个我理解的问题,但我不理解为什么它是一个问题 假设我们有以下代码(main.tsx): 你能给我解释清楚这两者的区别吗 import * as React from '@types/react'; 在my package.json中,我有“@types/react”:“^16.9.2”,而我没有reac

我是react的初学者,尽管我已经做了一些ReactJs,但今天我尝试使用
TypeScript(而不是纯Javascript)
创建一个简单的应用程序

然而,当运行npm start时,我发现了一个我理解的问题,但我不理解为什么它是一个问题

假设我们有以下代码(main.tsx):

你能给我解释清楚这两者的区别吗

import * as React from '@types/react';
在my package.json中,我有
“@types/react”:“^16.9.2”
,而我没有
react
,因此问题在于无法找到包的逻辑,但这两个导入之间有什么区别

因为我甚至不能导入
@types/react
,所以我只能安装它


谢谢

带有
@types
前缀的是类型声明包,更多信息。

带有
@types
前缀的是类型声明包,更多信息。

嘿!谢谢你的回答。然后我会有第二个问题:
我什么时候知道我需要@types/版本的软件包?
@Emixam23:如果你在使用库时没有得到“intellisense/代码完成”,你可以尝试搜索/安装相应的
@types软件包
。您可以使用
npm search@types/package\u name
或进行搜索。所以你不需要
@types包,但它很有帮助。我有点同舟共济,老前辈肯定知道其中的区别。Emixam23给出了一个很好的答案,只是想补充一下,随着Typescript越来越多地被采用,一些库现在为您提供了库中的类型。找不到Axios的类型文件,只是因为它们太棒了!他们已经提供了类型,不需要额外的类型文件。我只是想这对于像我这样的傻瓜来说是很常见的。想想给出的另一个技巧,自动完成并看到与类型相关的错误,你看到了它们,你就拥有了你所需要的一切:)嘿!谢谢你的回答。然后我会有第二个问题:
我什么时候知道我需要@types/版本的软件包?
@Emixam23:如果你在使用库时没有得到“intellisense/代码完成”,你可以尝试搜索/安装相应的
@types软件包
。您可以使用
npm search@types/package\u name
或进行搜索。所以你不需要
@types包,但它很有帮助。我有点同舟共济,老前辈肯定知道其中的区别。Emixam23给出了一个很好的答案,只是想补充一下,随着Typescript越来越多地被采用,一些库现在为您提供了库中的类型。找不到Axios的类型文件,只是因为它们太棒了!他们已经提供了类型,不需要额外的类型文件。我只是想这对于像我这样的傻瓜来说是很常见的。想想给出的另一个技巧,自动完成并看到与类型相关的错误,你看到了它们,你就拥有了你所需要的一切:)
import * as React from '@types/react';