我有一个带有React组件的TypeScript TSX文件,如下所示:
interface IHiProps {
a: string;
b: string;
}
interface IHiState {
}
class Hi extends __React.Component<IHiProps, IHiState> {
// render…
}
如何在TypeScript中正确呈现此组件?
var hiComponent: __React.Component<IHiProps, IHiState>;
hiComponent = __React.render(__React.createElement(Hi), { a: "A", b: "B" }, document.body);
类型&#39;类型嗨&#39;不能分配给&#39; ComponentClass&#39; 类型的参数。我使用来自the DefinitelyTyped repository of Boris Yankov的绝对打字文件。
答案 0 :(得分:2)
当你改变这样的课程时它会起作用吗?
class Hi extends __React.Component<IHiProps, IHiState> {
static propTypes: __React.ValidationMap<any> = {
a: __React.PropTypes.string,
b: __React.PropTypes.string
}
// render…
}
同样使用__React
是可疑的,因为它是React.d.ts的内部变量。在运行时,不会有这样的变量 - 如果你不创建它。考虑使用模块:
/// <reference path="/path/to/react.d.ts" />
import * as React from React;