gpt4 book ai didi

javascript - 'React' 指的是一个 UMD 全局,但当前文件是一个模块

转载 作者:行者123 更新时间:2023-12-03 07:23:44 47 4
gpt4 key购买 nike

我更新了我的项目以创建 React app 4.0,并且我正在减慢将文件移动到 TypeScript 的速度。我知道有了这个新版本,您不必从“react”重复导入 React。但是,在我没有导入 React 的所有 TS 文件中,我收到此错误:

'React' refers to a UMD global, but the current file is a module.Consider adding an import instead.ts(2686)`


我知道我可以通过导入 React 来修复它,但我认为这不再需要。另外,有人可以解释这个错误的含义吗?
我的基本 TSX 文件
const Users = () => {
return <>Teachers aka Users</>;
};

export default Users;

最佳答案

Create React App 支持版本 4 中开箱即用的新 JSX 转换,但如果您使用自定义设置,则需要执行以下操作以消除编写 jsx 时出现的 TypeScript 错误没有 import React from 'react' :

  • typescript至少版本 4.1
  • reactreact-dom至少版本 17
  • tsconfig.json必须有 jsx react-jsx 的编译器选项或 react-jsxdev

  • 例子:
    // tsconfig.json
    {
    "compilerOptions": {
    ...
    "jsx": "react-jsx"
    ...
    },
    }
    可以在 here 找到支持 React 17 JSX 工厂的 TypeScript 文档

    关于javascript - 'React' 指的是一个 UMD 全局,但当前文件是一个模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64656055/

    47 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com