我需要创建一个 HOC,它采用一个组件并返回一个采用扁平化道具的新组件(我正在使用扁平化来实现它)并将未扁平化的道具应用于原始组件。
没有类型的 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} />;
};
此解决方案导致最终返回线路出现此错误
Type 'unknown' is not assignable to type 'IntrinsicAttributes & { children?: ReactNode; }'.
Type 'unknown' is not assignable to type 'IntrinsicAttributes'.ts(2322)