无法将类型分配给 React 高阶组件

Cannot assign types to a React High Order Component

我需要创建一个 HOC,它采用一个组件和 return 一个采用扁平化道具的新组件(我正在使用 flat 实现它)并将未扁平化的道具应用到原始组件。

没有类型的 HOC 看起来像这样(我已经测试过了,它按预期工作):

const HOC = (Component) => (props) => {
    const newProps = unflatten(props);

    return <Component {...newProps} />;
};

问题是现在我需要给它添加类型,所以我认为应该这样做:

const HOC = (Component: React.ComponentType) => (props: { [key: string]: string; }) => {
    const newProps = unflatten(props);

    return <Component {...newProps} />;
};

此解决方案导致最后 return 行出现此错误

Type 'unknown' is not assignable to type 'IntrinsicAttributes & { children?: ReactNode; }'.
  Type 'unknown' is not assignable to type 'IntrinsicAttributes'.ts(2322)

您可以执行以下操作

const newProps = unflatten(props) as { [key: string]: string; };

const newProps = unflatten(props) as  any;