File: tsxSpreadChildrenInvalidType%28jsx%3Dreact-jsx%2Ctarget%3Des5%29.errors.txt

package info (click to toggle)
node-typescript 5.0.4%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 459,140 kB
  • sloc: javascript: 1,972,754; makefile: 6; sh: 1
file content (41 lines) | stat: -rw-r--r-- 1,524 bytes parent folder | download | duplicates (3)
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
39
40
41
tests/cases/conformance/jsx/tsxSpreadChildrenInvalidType.tsx(17,12): error TS2307: Cannot find module 'react/jsx-runtime' or its corresponding type declarations.
tests/cases/conformance/jsx/tsxSpreadChildrenInvalidType.tsx(21,9): error TS2609: JSX spread child must be an array type.


==== tests/cases/conformance/jsx/tsxSpreadChildrenInvalidType.tsx (2 errors) ====
    declare module JSX {
    	interface Element { }
    	interface IntrinsicElements {
    		[s: string]: any;
    	}
    }
    declare var React: any;
    
    interface TodoProp {
        id: number;
        todo: string;
    }
    interface TodoListProps {
        todos: TodoProp[];
    }
    function Todo(prop: { key: number, todo: string }) {
        return <div>{prop.key.toString() + prop.todo}</div>;
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2307: Cannot find module 'react/jsx-runtime' or its corresponding type declarations.
    }
    function TodoList({ todos }: TodoListProps) {
        return <div>
            {...<Todo key={todos[0].id} todo={todos[0].todo} />}
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2609: JSX spread child must be an array type.
        </div>;
    }
    function TodoListNoError({ todos }: TodoListProps) {
        // any is not checked
        return <div>
            {...(<Todo key={todos[0].id} todo={todos[0].todo} /> as any)}
        </div>;
    }
    let x: TodoListProps;
        <TodoList {...x}/>