当我编译一个简单的 React/Typescript 应用程序(如下所示)时,我收到了各种编译器警告,这些警告似乎不是来 self 的代码。
/// <reference path="main/ambient/react-dom/index.d.ts" />
/// <reference path="main/ambient/react/index.d.ts" />
import * as React from "react";
import { render } from "react-dom";
class Example extends React.Component<any, any> {
render() {
return <p> Hello! </p>;
}
}
render(<Example />, document.getElementById("root"));
尽管此示例确实在编译后运行(通过 WebPack),但它会生成以下错误:
(19,22): error TS2339: Property 'createElement' does not exist on type '{}'.
(22,9): error TS2339: Property 'Component' does not exist on type '{}'.
(23,13): error TS2339: Property 'render' does not exist on type '{}'.
(23,26): error TS2339: Property 'createElement' does not exist on type '{}'.
我正在运行 React v0.14.8。我正在使用这些 typings for React还有这些typings for React-dom . enter link description here
我的问题是:为什么这个例子会产生这么多错误?我该如何解决这些错误?
请求:tsconfig.json
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"jsx": "react"
},
"exclude": [
"node_modules",
"typings/browser",
"typings/browser.d.ts"
],
"compileOnSave": false,
"buildOnSave": false
}
最佳答案
我找到了解决方案。这些错误是由 WebPack 中的一个插件引起的 (new webpack.optimize.OccurenceOrderPlugin()
)。删除这个插件解决了这个问题。
关于reactjs - 最简单的 Typescript + React + WebPack 示例生成错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36356260/