Typescript - React 组件中的“找不到名称”错误

新手上路,请多包涵

我正在将现有的 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 许可协议

阅读 3.5k
1 个回答

Typescript 不希望在您的 Typescript 文件中看到 JSX。解决此问题的最简单方法是将文件从 .ts 重命名为 .tsx

打字稿文档中的 JSX

原文由 coreyward 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进