繁体   English   中英

带有 TSX 的 TypeScript 无法 linting 但可以正确转译

[英]TypeScript with TSX fails linting but correctly transpiles

我收到此错误,但无法解决问题。

TS7026:JSX 元素隐式具有类型“any”,因为不存在接口“JSX.IntrinsicElements”。

我在具有 .tsx 扩展名的文件中有以下代码:

/** @jsx gtap.$jsx */

declare namespace JSX {
    interface IntrinsicElements {
        div: {};
    }
}

class ProjectsView extends controllers.BaseView {
    readonly name: string = "ProjectsView";

    viewContent() {
        return <div className="sss" > [This is a container] </div>;
    }
}

Webpack 和 VS Code 都报告未找到 div。 即使正确生成了 div。

我错过了什么?

这是我的 tsconfig.json 文件:

{
    "compilerOptions": {
        "module": "commonjs",
        "target": "es2016",
        "sourceMap": true,
        "allowJs": true,
        "strictNullChecks": true,
        "strict": true,
        "noImplicitAny": true,
        "outDir": "./www/assets/dist/",
        "jsx": "react",
        "jsxFactory": "gtap.$jsx"
    },
    "exclude": [
        "node_modules",
        "**/node_modules/*"
    ]
}

我换了

declare namespace JSX {
    interface IntrinsicElements {
        div: {};
    }
}

declare global{
    namespace JSX {
       interface IntrinsicElements {
           div: {};
       }
   }
}

似乎 JSX 需要在全局命名空间中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM