2016-11-08 18:32:26 +01:00
|
|
|
// @filename: file.tsx
|
|
|
|
// @jsx: preserve
|
|
|
|
// @noLib: true
|
2017-10-04 23:43:35 +02:00
|
|
|
// @skipLibCheck: true
|
2016-11-08 18:32:26 +01:00
|
|
|
// @libFiles: react.d.ts,lib.d.ts
|
|
|
|
|
|
|
|
import React = require('react');
|
|
|
|
|
|
|
|
type TextProps = { editable: false }
|
|
|
|
| { editable: true, onEdit: (newText: string) => void };
|
|
|
|
|
|
|
|
class TextComponent extends React.Component<TextProps, {}> {
|
|
|
|
render() {
|
|
|
|
return <span>Some Text..</span>;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// OK
|
|
|
|
const textPropsFalse: TextProps = {
|
|
|
|
editable: false
|
|
|
|
};
|
|
|
|
|
|
|
|
let y1 = <TextComponent {...textPropsFalse} />
|
|
|
|
|
|
|
|
const textPropsTrue: TextProps = {
|
|
|
|
editable: true,
|
|
|
|
onEdit: () => {}
|
|
|
|
};
|
|
|
|
|
|
|
|
let y2 = <TextComponent {...textPropsTrue} />
|