TypeScript/tests/cases/conformance/jsx/tsxSpreadAttributesResolution13.tsx

34 lines
679 B
TypeScript
Raw Normal View History

2017-05-05 17:47:52 +02:00
// @filename: file.tsx
// @jsx: preserve
// @noLib: true
// @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>
);
}