繁体   English   中英

React.Component 的通用类型

[英]Generic type of React.Component

React 组件的泛型类型是什么?

组件可以来自类,例如:

export class MaskCompanyList extends React.Component<MaskCompanyListProps, MaskCompanyListState> {
    public render() {
        ...
    }
}

export class MaskPersonDetail extends React.Component<MaskPersonDetailProps, MaskPersonDetailState> {
    public render() {
        ...
    }
}

我试图创建这个泛型类,但由于缺少属性而出现错误:

不通用:

private getMask<T, R>(): React.Component<T, R> {
    return <MaskCompanyList />;
}

来自 TSLint 的错误消息:

Type 'Element' is missing the following properties from type 'Component<T, R, any>': context, setState, forceUpdate, render, and 2 more.

类组件类React.Component<A, B>总是相同的,但是 Classes 的

在您的示例getMask ,返回签名是一个反应组件,但您正在返回一个反应元素。

要键入组件:

private getMaskComponent(): React.ComponentType<MaskCompanyListProps> {
  return MaskCompanyList;
}

要键入元素:

private getMaskElement(): React.ReactElement {
  return <MaskCompanyList />
}

暂无
暂无

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

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