プロジェクトを更新して react app 4.0 を作成し、ゆっくりとファイルを TypeScript に移行しています。この新しいバージョンでは、'react' から React を繰り返しインポートする必要がないことはわかっています。ただし、React をインポートしていないすべての TS ファイル内で、次のエラーが発生します。
'React' は UMD グローバルを参照していますが、現在のファイルはモジュールです。代わりにインポートを追加することを検討してください。ts(2686)`
React をインポートすることで修正できることはわかっていますが、これはもう必要ないと思っていました。また、このエラーの意味を説明していただける方はいらっしゃいますか?
私の基本的なTSXファイル
const Users = () => {
return <>Teachers aka Users</>;
};
export default Users;
ベストアンサー1
Create React App はバージョン 4 で新しい JSX 変換をすぐにサポートしますが、カスタム設定を使用している場合は、jsx
なしで記述するときに TypeScript エラーを削除するために以下が必要ですimport React from 'react'
。
typescript
少なくともバージョン4.1react
少なくともreact-dom
バージョン17tsconfig.json
jsx
コンパイラオプションがreact-jsx
またはである必要がありますreact-jsxdev
例:
// tsconfig.json
{
"compilerOptions": {
...
"jsx": "react-jsx"
...
},
}
React 17 JSXファクトリーのサポートに関するTypeScriptドキュメントは以下にあります。ここ