1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
tests/cases/compiler/tsxNotUsingApparentTypeOfSFC.tsx(14,14): error TS2322: Type '{}' is not assignable to type 'P'.
'P' could be instantiated with an arbitrary type which could be unrelated to '{}'.
tests/cases/compiler/tsxNotUsingApparentTypeOfSFC.tsx(15,14): error TS2769: No overload matches this call.
Overload 1 of 2, '(props: Readonly<P>): MyComponent', gave the following error.
Type '{}' is not assignable to type 'Readonly<P>'.
Overload 2 of 2, '(props: P, context?: any): MyComponent', gave the following error.
Type '{}' is not assignable to type 'Readonly<P>'.
==== tests/cases/compiler/tsxNotUsingApparentTypeOfSFC.tsx (2 errors) ====
/// <reference path="/.lib/react16.d.ts" />
import React from 'react';
function test<P>(wrappedProps: P) {
let MySFC = function(props: P) {
return <>hello</>;
};
class MyComponent extends React.Component<P> {
render() {
return <>hello</>;
}
}
let x = <MySFC />; // should error
~~~~~
!!! error TS2322: Type '{}' is not assignable to type 'P'.
!!! error TS2322: 'P' could be instantiated with an arbitrary type which could be unrelated to '{}'.
let y = <MyComponent />; // should error
~~~~~~~~~~~
!!! error TS2769: No overload matches this call.
!!! error TS2769: Overload 1 of 2, '(props: Readonly<P>): MyComponent', gave the following error.
!!! error TS2769: Type '{}' is not assignable to type 'Readonly<P>'.
!!! error TS2769: Overload 2 of 2, '(props: P, context?: any): MyComponent', gave the following error.
!!! error TS2769: Type '{}' is not assignable to type 'Readonly<P>'.
let z = <MySFC {...wrappedProps} /> // should work
let q = <MyComponent {...wrappedProps} /> // should work
}
|