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
|
=== tests/cases/compiler/jsxCallbackWithDestructuring.tsx ===
// minimal component
interface Component<P = {}, S = {}> { }
declare class Component<P, S> {
>Component : Component<P, S>
constructor(props: P, context?: any);
>props : P
>context : any
render(): {};
>render : () => {}
props: Readonly<{ children?: {} }> & Readonly<P>;
>props : Readonly<{ children?: {} | undefined; }> & Readonly<P>
>children : {} | undefined
}
declare global {
>global : any
namespace JSX {
interface Element { }
interface ElementClass {
render(): {};
>render : () => {}
}
interface ElementAttributesProperty { props: {}; }
>props : {}
interface ElementChildrenAttribute { children: {}; }
>children : {}
interface IntrinsicAttributes { }
interface IntrinsicClassAttributes<T> { }
}
}
export interface RouteProps {
children?: (props: { x: number }) => any;
>children : ((props: { x: number;}) => any) | undefined
>props : { x: number; }
>x : number
}
export class MyComponent<T extends RouteProps = RouteProps> extends Component<T> { }
>MyComponent : MyComponent<T>
>Component : Component<T, {}>
<MyComponent children={({ x }) => {}}/>
><MyComponent children={({ x }) => {}}/> : JSX.Element
>MyComponent : typeof MyComponent
>children : ({ x }: { x: number; }) => void
>({ x }) => {} : ({ x }: { x: number; }) => void
>x : number
|