【问题标题】:React Typescript - What's the difference between import @types/react and import reactReact Typescript - import @types/react 和 import react 有什么区别
【发布时间】:2020-01-09 16:24:20
【问题描述】:

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

但是,在运行 npm start 时,我发现了一个我理解的问题,但我不明白为什么会出现问题。

假设我们有这段代码(main.tsx):

import * as React from 'react';

你能解释清楚和我有什么区别吗

import * as React from '@types/react';

在我的 package.json 中,我有 "@types/react": "^16.9.2" 而我没有 react,所以这个问题很符合逻辑,找不到包。但是这两个导入有什么区别呢?

还有,我连@types/react都导入不了,只能安装了

谢谢!

【问题讨论】:

    标签: javascript reactjs typescript import


    【解决方案1】:

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

    【讨论】:

    • 嘿!感谢您的回答。那我还有第二个问题:When do I know that I need the @types/ version of a package?
    • @Emixam23:如果您在使用库时没有获得“智能感知/代码完成”,您可以尝试搜索/安装相应的@types package。您可以使用npm search @types/package_namemicrosoft.github.io/TypeSearch 进行搜索。所以你不需要@types package,但它很有帮助。
    • 我在同一条船上肯定老前辈知道其中的区别。 Emixam23 给出了一个很好的答案,只是想补充一下,因为 Typescript 被更多地采用,一些库现在为您包含库中的类型。找不到 Axios 的类型文件,只是因为它们很摇滚!他们已经提供了类型,不需要额外的类型文件。只是认为这对于像我这样的新手来说很常见。想想给出的另一个提示,自动完成和查看类型相关的错误,你看到它们,你有你需要的一切:)
    猜你喜欢
    • 2019-07-02
    • 2017-06-05
    • 2021-10-30
    • 2016-04-11
    • 2020-07-23
    • 2017-04-20
    • 1970-01-01
    • 2012-01-15
    相关资源
    最近更新 更多