[react] improve React.cloneElement with F-bounded polymorphism

This commit is contained in:
Vincent Siao
2016-02-26 18:33:14 -08:00
parent 60ea35043d
commit a3d2b67d36
2 changed files with 19 additions and 11 deletions
+7 -3
View File
@@ -187,13 +187,17 @@ var domElement: React.ReactHTMLElement =
// React.cloneElement
var clonedElement: React.ReactElement<Props> =
React.cloneElement(element, props);
React.cloneElement(element, { foo: 43 });
var clonedStatelessElement: React.ReactElement<SCProps> =
React.cloneElement(statelessElement, props);
// known problem: cloning with optional props don't work properly
// workaround: cast to actual props type
React.cloneElement(statelessElement, <SCProps>{ foo: 44 });
var clonedClassicElement: React.ClassicElement<Props> =
React.cloneElement(classicElement, props);
var clonedDOMElement: React.ReactHTMLElement =
React.cloneElement(domElement);
React.cloneElement(domElement, {
className: "clonedElement"
});
// React.render
var component: React.Component<Props, any> =