Closed
Description
TypeScript Version: 3.2.0-rc, 9319ea4
Search Terms:
higher order component, React, type parameter
Code
import * as React from 'react';
export interface ComponentProps {
foo: number;
}
export default <P extends ComponentProps>(WrappedComponent: React.ComponentType<P>) => {
return class SomeHOC extends React.Component<P, {}> {
render() {
return <WrappedComponent foo={0} />;
}
};
}
Expected behavior:
No error (as in 3.1.6)
Actual behavior:
src/wrappedComponent.tsx:10:21 - error TS2322: Type '{ foo: number; }' is not assignable to type 'IntrinsicAttributes & P & { children?: ReactNode; }'.
Property 'foo' does not exist on type 'IntrinsicAttributes & P & { children?: ReactNode; }'.
10 return <WrappedComponent foo={0} />;
Playground Link: