在Typescript中编写的React应用程序中的错误参数类型

时间:2015-08-22 14:50:49

标签: javascript node.js typescript reactjs

我使用的是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个文件。对此有任何想法吗?

1 个答案:

答案 0 :(得分:1)

您正在尝试使用整个模块而不是其导出的成员。在这种情况下,您需要使用React.createElement(HelloWorld.HelloWorld, null);来访问该成员。

或者,将import更改为import {HelloWorld as HelloWorld} from ...