React17 使用 JSX 的情况下无须再显式导入 React

React 17 引入了新的 JSX 编译方式,无须在组件中显式地 import React。注意需要配合 TypeScript 4.1+ 版本。

亦即,使用 React 17+ 的项目中 TypeScript 会有如下对应的提示:

'React' is declared but its value is never read.ts(6133)
Screen Shot 2021-05-12 at 7 46 34 PM

但移除 React 的导入后,又会报如下的 ESLint 错误:

Screen Shot 2021-05-12 at 9 38 27 PM

根据 React 文档 的描述,可关闭对应的 ESLint 规则,因为是不必要的了。

{
  // ...
  "rules": {
    // ...
    "react/jsx-uses-react": "off",
    "react/react-in-jsx-scope": "off"
  }
}

相关资源