typescript 反应HOC的ts类型声明
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了typescript 反应HOC的ts类型声明相关的知识,希望对你有一定的参考价值。
type extraProps = {
loaded: boolean;
};
export function WithPluginStatus<P = {}>(
WrappedComponent: React.ComponentType<P & extraProps>
): React.ComponentClass<P> {
return class extends React.Component<P> {
render() {
return (
<Consumer>
{data => <WrappedComponent {...this.props} loaded={data.loaded} />}
</Consumer>
);
}
};
}
import * as React from 'react';
export default function <P = {}>(
WrappedComponent: React.ComponentType<P>
): React.ComponentClass<P> {
return class extends React.Component<P> {
render() {
return <WrappedComponent {...this.props} />;
}
};
}
export default function wrapperFunc <Props, State, CompState> (
WrappedComponent: typeof React.Component,
): React.ComponentClass<Props & State> {
return class extends React.Component<Props & State, CompState> {
public render() {
return <WrappedComponent {...this.props} {...this.state} />;
}
};
}
以上是关于typescript 反应HOC的ts类型声明的主要内容,如果未能解决你的问题,请参考以下文章
TypeScript教程# 3:TS的类型声明
TypeScript:类型标注和d.ts类型声明文件的使用
Typescript 未检测到声明“d.ts”文件中不存在的类型名称的错误
如何引用由 NPM 包中 tsc 的“声明”选项生成的 TypeScript .d.ts 文件中声明的类型?
带有 Yarn、TypeScript 和 React Native 的 Lerna:找不到模块“@project/common”或其对应的类型声明。ts(2307)
与 Typescript 反应 - 类型 缺少类型中的以下属性