diff --git a/react/react-0.13.0-tests.ts b/react/react-0.13.0-tests.ts index 26b2d4fb1e..18d4bcf4e8 100644 --- a/react/react-0.13.0-tests.ts +++ b/react/react-0.13.0-tests.ts @@ -42,7 +42,7 @@ var INPUT_REF: string = "input"; // Top-Level API // -------------------------------------------------------------------------- -var reactClass: React.ComponentClass = React.createClass({ +var reactClassicClass: React.ClassicComponentClass = React.createClass({ getDefaultProps: () => { return { hello: undefined, @@ -69,6 +69,8 @@ var reactClass: React.ComponentClass = React.createClass< } }); +var reactClass: React.ComponentClass = reactClassicClass; + class ModernComponent extends React.Component implements React.ChildContextProvider { constructor(props: Props, context: Context) { super(props, context); @@ -149,6 +151,11 @@ var isValid = React.isValidElement(reactElement); // true React.initializeTouchEvents(true); var domNode: Element = React.findDOMNode(component); +var reactClassicElement: React.ReactClassicElement; +reactClassicElement = React.createElement(reactClassicClass, props); +var classicComponent: React.ClassicComponent; +classicComponent = React.render(reactClassicElement, container); + // // React Elements // -------------------------------------------------------------------------- @@ -177,8 +184,6 @@ component.setState({ inputValue: "!!!" }); component.forceUpdate(); // classic -var classicComponent = >component; - var htmlElement: Element = classicComponent.getDOMNode(); var divElement: HTMLDivElement = classicComponent.getDOMNode(); var isMounted: boolean = classicComponent.isMounted(); diff --git a/react/react-0.13.0.d.ts b/react/react-0.13.0.d.ts index b5a1d14952..9ee1025410 100644 --- a/react/react-0.13.0.d.ts +++ b/react/react-0.13.0.d.ts @@ -17,6 +17,9 @@ declare module React { ref: string; } + interface ReactClassicElement

extends ReactElement

{ + } + interface ReactHTMLElement extends ReactElement {} interface ReactSVGElement extends ReactElement {} @@ -112,8 +115,10 @@ declare module React { interface TopLevelAPI { createClass(spec: ComponentSpec): ClassicComponentClass; + createElement

(type: ClassicComponentClass, props: P, ...children: ReactNode[]): ReactClassicElement

; createElement

(type: ComponentClass | string, props: P, ...children: ReactNode[]): ReactElement

; createFactory

(type: ComponentClass | string): ComponentFactory

; + render(element: ReactClassicElement

, container: Element, callback?: () => any): ClassicComponent; render(element: ReactElement

, container: Element, callback?: () => any): Component; unmountComponentAtNode(container: Element): boolean; renderToString(element: ReactElement): string;