我有一个装载机 HOC
特设:
const withLoader = <P extends object>(WrappedComponent: new () => React.Component<P, any>, loading: boolean) => {
return class WithLoading extends React.Component<P, any> {
render() {
return (
<div >
<div className={`${loading} ? 'loader' : '' "></div>
<WrappedComponent {...this.props} />
</div>
)
}
}
}
我以这种方式使用它,例如:
const TableHOC = withLoader(Table,true);
现在我的表或任何其他组件,例如,将有自己定义良好的道具接口。一切都很好打字。
但是我遇到了这个问题
Argument of type '(props: ITableProps) => JSX.Element' is not assignable to parameter of type 'new () => Component<object, any, any>'.
Type '(props: ITableProps) => Element' provides no match for the signature 'new (): Component<object, any, any>'.ts(2345)
我该如何解决这个问题?