2017-05-05 17:47:52 +02:00
|
|
|
// @filename: file.tsx
|
|
|
|
// @jsx: preserve
|
|
|
|
// @noLib: true
|
2017-10-04 23:43:35 +02:00
|
|
|
// @skipLibCheck: true
|
2017-05-05 17:47:52 +02:00
|
|
|
// @libFiles: react.d.ts,lib.d.ts
|
|
|
|
|
|
|
|
import React = require('react');
|
|
|
|
|
|
|
|
interface ComponentProps {
|
|
|
|
property1: string;
|
|
|
|
property2: number;
|
|
|
|
}
|
|
|
|
|
|
|
|
export default function Component(props: ComponentProps) {
|
2017-05-05 19:05:50 +02:00
|
|
|
let condition1: boolean;
|
|
|
|
if (condition1) {
|
|
|
|
return (
|
|
|
|
<ChildComponent {...props} />
|
|
|
|
);
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
return (<ChildComponent {...props} property1="NewString" />);
|
|
|
|
}
|
2017-05-05 17:47:52 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
interface AnotherComponentProps {
|
|
|
|
property1: string;
|
|
|
|
}
|
|
|
|
|
2017-05-05 19:05:50 +02:00
|
|
|
function ChildComponent({ property1 }: AnotherComponentProps) {
|
2017-05-05 17:47:52 +02:00
|
|
|
return (
|
|
|
|
<span>{property1}</span>
|
|
|
|
);
|
|
|
|
}
|