我正在将现有的 React 代码迁移到 TypeScript,我遇到了很多问题,其中一个是当我制作 .js
文件 .ts
时出现很多“找不到名称”错误 ---
文件。
这是有问题的代码:
import React from 'react';
const Footer = ({ children, inModal }) => (
<footer className={'tableBottomPanel' + (inModal ? " in-modal" : "") }>
<div>
{children}
</div>
</footer>
);
export default Footer;
从 <footer>
到 </footer>
这五行带有红色下划线,并给出了各种错误,具体取决于我将鼠标悬停在哪里,例如:
- 找不到名称“页脚”。
- ’>’ 预期
- 找不到名称“div”
- 未终止的正则表达式文字
- 运算符 ‘<’ 不能应用于类型 ‘boolean’ 和 ‘RegExp’
这是我的 tsconfig.json
文件:
{
"compilerOptions": {
"outDir": "./dist/", // path to output directory
"sourceMap": true, // allow sourcemap support
"strictNullChecks": true, // enable strict null checks as a best practice
"module": "es6", // specify module code generation
"jsx": "react", // use typescript to transpile jsx to js
"target": "es5", // specify ECMAScript target version
"allowJs": true, // allow a partial TypeScript and JavaScript codebase
"moduleResolution": "node",
"allowSyntheticDefaultImports": true,
"lib": [
"es6",
"dom"
],
"types": [
"node"
]
},
"include": [
"./src/"
]
}
我非常困惑,非常感谢一些帮助!
原文由 noblerare 发布,翻译遵循 CC BY-SA 4.0 许可协议
Typescript 不希望在您的 Typescript 文件中看到 JSX。解决此问题的最简单方法是将文件从
.ts
重命名为.tsx
。打字稿文档中的 JSX