File: tsxNotUsingApparentTypeOfSFC.errors.txt

package info (click to toggle)
node-typescript 4.1.3-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 396,552 kB
  • sloc: javascript: 1,444,377; makefile: 7; sh: 3
file content (38 lines) | stat: -rw-r--r-- 1,893 bytes parent folder | download
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
    }