无法将类型分配给 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;
我需要创建一个 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;