我使用的是atom-typescript包,我做了一个简单的例子。这是它:
import * as React from "react"
interface Props {}
export class HelloWorld extends React.Component<Props, {}> {
render() {
return <div>Hello World</div>;
}
}
import * as React from "react"
import * as HelloWorld from "./components/HelloWorld"
React.render(
React.createElement(HelloWorld, null),
document.getElementById('app')
);
问题是我收到了这个错误:
at line 6, file /Users/mazzy/vagrant-devbox/expressjs-typescript/app/app.tsx Argument of type 'typeof "/Users/mazzy/vagrant-devbox/expressjs-typescript/app/components/HelloWorld"' is not assignable to parameter of type 'ComponentClass<any>'.
显然我已经安装了react.d.ts
个文件。对此有任何想法吗?
答案 0 :(得分:1)
您正在尝试使用整个模块而不是其导出的成员。在这种情况下,您需要使用React.createElement(HelloWorld.HelloWorld, null);
来访问该成员。
或者,将import
更改为import {HelloWorld as HelloWorld} from ...