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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
=== tests/cases/conformance/jsx/file.tsx ===
import React = require('react');
>React : typeof React
interface OptionProp {
x?: 2
>x : 2
}
class Opt extends React.Component<OptionProp, {}> {
>Opt : Opt
>React.Component : React.Component<OptionProp, {}>
>React : typeof React
>Component : typeof React.Component
render() {
>render : () => JSX.Element
return <div>Hello</div>;
><div>Hello</div> : JSX.Element
>div : any
>div : any
}
}
const obj: OptionProp = {};
>obj : OptionProp
>{} : {}
const obj1: OptionProp = {
>obj1 : OptionProp
>{ x: 2} : { x: 2; }
x: 2
>x : 2
>2 : 2
}
// Error
let y = <Opt {...obj} x={3}/>;
>y : JSX.Element
><Opt {...obj} x={3}/> : JSX.Element
>Opt : typeof Opt
>obj : OptionProp
>x : number
>3 : 3
let y1 = <Opt {...obj1} x="Hi"/>;
>y1 : JSX.Element
><Opt {...obj1} x="Hi"/> : JSX.Element
>Opt : typeof Opt
>obj1 : OptionProp
>x : string
let y2 = <Opt {...obj1} x={3}/>;
>y2 : JSX.Element
><Opt {...obj1} x={3}/> : JSX.Element
>Opt : typeof Opt
>obj1 : OptionProp
>x : number
>3 : 3
let y3 = <Opt x />;
>y3 : JSX.Element
><Opt x /> : JSX.Element
>Opt : typeof Opt
>x : true
|