【发布时间】:2018-12-29 20:28:00
【问题描述】:
我正在尝试在 React 和 TypeScript 中实现 HOC,但遇到类型错误。
这是 HOC:
import * as React from "react";
interface IProps {
loading: boolean;
}
const withLoader = <P extends object>(
Component: React.ComponentType<P>
): React.ComponentType<P & IProps> => ({ loading, ...props }: IProps) =>
loading ? (
<div className="overlay">
<div className="loader" />
</div>
) : (
<Component {...props} />
);
export default withLoader;
反应类型的版本是:
"devDependencies": {
"@types/react": "^16.7.18",
"@types/react-dom": "^16.0.11",
...
}
react 的版本是:
"dependencies": {
"react": "^16.7.0",
"react-dom": "^16.7.0",
...
}
我得到的错误是:
类型“{}”不可分配给类型“P”.ts(2322)
有人有什么想法吗?
【问题讨论】:
标签: reactjs typescript