From cf0172024a3526e45e9b361c8f660f5a73098802 Mon Sep 17 00:00:00 2001 From: Andy Date: Mon, 21 Aug 2017 22:06:49 -0700 Subject: [PATCH] react: Fix compile error (#19210) * react: Fix compile error * Better fix: Use InputHTMLAttributes * Use a separte overload just for "input" --- types/react/index.d.ts | 5 +++++ types/react/test/index.ts | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/types/react/index.d.ts b/types/react/index.d.ts index 7b5e23005c..66be838b76 100644 --- a/types/react/index.d.ts +++ b/types/react/index.d.ts @@ -184,6 +184,11 @@ declare namespace React { function createFactory

(type: ComponentClass

): Factory

; // DOM Elements + // TODO: generalize this to everything in `keyof ReactHTML`, not just "input" + function createElement( + type: "input", + props?: InputHTMLAttributes & ClassAttributes, + ...children: ReactNode[]): DetailedReactHTMLElement<{}, HTMLInputElement>; function createElement

, T extends HTMLElement>( type: keyof ReactHTML, props?: ClassAttributes & P, diff --git a/types/react/test/index.ts b/types/react/test/index.ts index 71f17a65de..79eab5e88d 100644 --- a/types/react/test/index.ts +++ b/types/react/test/index.ts @@ -221,7 +221,7 @@ const clonedDOMElement: React.DOMElement, H className: "clonedDOMElement" }); // Clone ReactHTMLElement -const clonedHtmlElement: React.ReactHTMLElement = +const clonedHtmlElement: React.ReactHTMLElement = React.cloneElement(htmlElement, { className: "clonedHTMLElement" });