我更新了我的项目来创建react应用程序4.0,我正在缓慢地移动我的文件到TypeScript。我知道有了这个新版本,你不必重复地从“React”导入React。然而,在我没有导入React的所有TS文件中,我收到了这个错误:

'React'指的是一个UMD全局,但当前文件是一个模块。 考虑添加一个导入来代替。ts(2686) '

我知道我可以通过导入React来修复它,但我认为这已经不再需要了。另外,有人能解释一下这个错误的含义吗?

我的基本TSX文件

const Users = () => {
    return <>Teachers aka Users</>;
};

export default Users;

当前回答

我错误地给出了index。Ts组件的名称。

└── components/
    └── Dialog/
        ├── Dialog.tsx
        └── Dialog.ts // This needs to be index.ts

将名称改回index。它解出来了。

其他回答

我错误地给出了index。Ts组件的名称。

└── components/
    └── Dialog/
        ├── Dialog.tsx
        └── Dialog.ts // This needs to be index.ts

将名称改回index。它解出来了。

添加

import React from 'react'

修复此问题

我有这种情况发生时,文件是在项目的根,而不是src文件夹使用Create React应用程序。

对于VSCode用户来说,简单地关闭和重新打开项目就可以解决我的问题。

根据项目中使用的版本,这可能是所需的格式:

import * as React from "react"