mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
[react] improve React.cloneElement with F-bounded polymorphism
This commit is contained in:
parent
60ea35043d
commit
a3d2b67d36
@ -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> =
|
||||
|
||||
20
react/react.d.ts
vendored
20
react/react.d.ts
vendored
@ -92,17 +92,21 @@ declare namespace __React {
|
||||
props?: P,
|
||||
...children: ReactNode[]): ReactElement<P>;
|
||||
|
||||
function cloneElement<P>(
|
||||
element: DOMElement<P>,
|
||||
props?: P,
|
||||
...children: ReactNode[]): DOMElement<P>;
|
||||
function cloneElement<P>(
|
||||
function cloneElement(
|
||||
element: ReactHTMLElement,
|
||||
props?: HTMLProps<HTMLElement>,
|
||||
...children: ReactNode[]): ReactHTMLElement;
|
||||
function cloneElement(
|
||||
element: ReactSVGElement,
|
||||
props?: SVGProps,
|
||||
...children: ReactNode[]): ReactSVGElement;
|
||||
function cloneElement<P extends Q, Q>(
|
||||
element: ClassicElement<P>,
|
||||
props?: P,
|
||||
props?: Q,
|
||||
...children: ReactNode[]): ClassicElement<P>;
|
||||
function cloneElement<P>(
|
||||
function cloneElement<P extends Q, Q>(
|
||||
element: ReactElement<P>,
|
||||
props?: P,
|
||||
props?: Q,
|
||||
...children: ReactNode[]): ReactElement<P>;
|
||||
|
||||
function isValidElement(object: {}): boolean;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user