我正在使用create-react-app TypeScript项目作为React组件的基础,我将把它作为一个独立的包发布。要在外部使用这个包,我必须在每个组件文件中使用import React from 'react'。但是,create-react-app使用了一个babel转换,它将React导入标记为不必要的。我希望我的环境在模块化代码需要它的地方期待React导入。如果没有在每个组件中导入React,如何修改create-react-app项目以抛出错误?
create-react-app
import React from 'react'
f4t66c6m1#
您可以使用eslint来检查它示例:https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/react-in-jsx-scope.md默认情况下,在VScode中使用扩展名为https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint的代码
nwlqm0z12#
我在typescript存储库中的一个相关问题中找到了一个使用tsconfig的解决方案:https://github.com/microsoft/TypeScript/issues/41882#issuecomment-940734525jsx编译器选项需要设置为"react",而不是"react-jsx":
typescript
tsconfig
jsx
"react"
"react-jsx"
{ "compilerOptions": { "jsx": "react" } }
2条答案
按热度按时间f4t66c6m1#
您可以使用eslint来检查它
示例:https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/react-in-jsx-scope.md
默认情况下,在VScode中使用扩展名为https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint的代码
nwlqm0z12#
我在
typescript
存储库中的一个相关问题中找到了一个使用tsconfig
的解决方案:https://github.com/microsoft/TypeScript/issues/41882#issuecomment-940734525jsx
编译器选项需要设置为"react"
,而不是"react-jsx"
: