diff --git a/src/browser/ReactTextComponent.js b/src/browser/ReactTextComponent.js index 24ea723729d91..7af125e51423c 100644 --- a/src/browser/ReactTextComponent.js +++ b/src/browser/ReactTextComponent.js @@ -23,6 +23,7 @@ var DOMPropertyOperations = require('DOMPropertyOperations'); var ReactBrowserComponentMixin = require('ReactBrowserComponentMixin'); var ReactComponent = require('ReactComponent'); var ReactDescriptor = require('ReactDescriptor'); +var ReactNode = require('ReactNode'); var escapeTextForBrowser = require('escapeTextForBrowser'); var mixInto = require('mixInto'); @@ -47,6 +48,7 @@ var ReactTextComponent = function(descriptor) { }; mixInto(ReactTextComponent, ReactComponent.Mixin); +mixInto(ReactTextComponent, ReactNode.Mixin); mixInto(ReactTextComponent, ReactBrowserComponentMixin); mixInto(ReactTextComponent, { @@ -60,9 +62,10 @@ mixInto(ReactTextComponent, { * @return {string} Markup for this text node. * @internal */ - mountComponent: function(rootID, transaction, mountDepth) { + mountComponent: function(parentNode, rootID, transaction, mountDepth) { ReactComponent.Mixin.mountComponent.call( this, + parentNode, rootID, transaction, mountDepth diff --git a/src/browser/server/ReactServerRendering.js b/src/browser/server/ReactServerRendering.js index cf61cc4aaab5f..af130caaabe7c 100644 --- a/src/browser/server/ReactServerRendering.js +++ b/src/browser/server/ReactServerRendering.js @@ -50,7 +50,7 @@ function renderComponentToString(component) { return transaction.perform(function() { var componentInstance = instantiateReactComponent(component); - var markup = componentInstance.mountComponent(id, transaction, 0); + var markup = componentInstance.mountComponent(null, id, transaction, 0); return ReactMarkupChecksum.addChecksumToMarkup(markup); }, null); } finally { @@ -76,7 +76,7 @@ function renderComponentToStaticMarkup(component) { return transaction.perform(function() { var componentInstance = instantiateReactComponent(component); - return componentInstance.mountComponent(id, transaction, 0); + return componentInstance.mountComponent(null, id, transaction, 0); }, null); } finally { ReactServerRenderingTransaction.release(transaction); diff --git a/src/browser/ui/ReactDOMComponent.js b/src/browser/ui/ReactDOMComponent.js index 70c0ceb9e0a8a..c77bf06b4a820 100644 --- a/src/browser/ui/ReactDOMComponent.js +++ b/src/browser/ui/ReactDOMComponent.js @@ -27,6 +27,7 @@ var ReactComponent = require('ReactComponent'); var ReactBrowserEventEmitter = require('ReactBrowserEventEmitter'); var ReactMount = require('ReactMount'); var ReactMultiChild = require('ReactMultiChild'); +var ReactNode = require('ReactNode'); var ReactPerf = require('ReactPerf'); var escapeTextForBrowser = require('escapeTextForBrowser'); @@ -83,7 +84,7 @@ function putListener(id, registrationName, listener, transaction) { /** * @constructor ReactDOMComponent - * @extends ReactComponent + * @extends ReactNodeComponent * @extends ReactMultiChild */ function ReactDOMComponent(tag, omitClose) { @@ -107,9 +108,10 @@ ReactDOMComponent.Mixin = { mountComponent: ReactPerf.measure( 'ReactDOMComponent', 'mountComponent', - function(rootID, transaction, mountDepth) { + function(parentNode, rootID, transaction, mountDepth) { ReactComponent.Mixin.mountComponent.call( this, + parentNode, rootID, transaction, mountDepth @@ -412,6 +414,7 @@ ReactDOMComponent.Mixin = { mixInto(ReactDOMComponent, ReactComponent.Mixin); mixInto(ReactDOMComponent, ReactDOMComponent.Mixin); +mixInto(ReactDOMComponent, ReactNode.Mixin); mixInto(ReactDOMComponent, ReactMultiChild.Mixin); mixInto(ReactDOMComponent, ReactBrowserComponentMixin); diff --git a/src/browser/ui/__tests__/ReactDOMComponent-test.js b/src/browser/ui/__tests__/ReactDOMComponent-test.js index b283a004e9a7d..faffcd9a5a275 100644 --- a/src/browser/ui/__tests__/ReactDOMComponent-test.js +++ b/src/browser/ui/__tests__/ReactDOMComponent-test.js @@ -333,7 +333,7 @@ describe('ReactDOMComponent', function() { _owner: null, _context: null }); - return stubComponent.mountComponent('test', transaction, 0); + return stubComponent.mountComponent(null, 'test', transaction, 0); }; }); diff --git a/src/browser/ui/dom/__tests__/Danger-test.js b/src/browser/ui/dom/__tests__/Danger-test.js index 698eeb6dc8fc0..6be499b65a9d0 100644 --- a/src/browser/ui/dom/__tests__/Danger-test.js +++ b/src/browser/ui/dom/__tests__/Danger-test.js @@ -40,7 +40,7 @@ describe('Danger', function() { it('should render markup', function() { var markup = instantiateReactComponent(
- ).mountComponent('.rX', transaction, 0); + ).mountComponent(null, '.rX', transaction, 0); var output = Danger.dangerouslyRenderMarkup([markup])[0]; expect(output.nodeName).toBe('DIV'); @@ -49,11 +49,7 @@ describe('Danger', function() { it('should render markup with props', function() { var markup = instantiateReactComponent( - ).mountComponent( - '.rX', - transaction, - 0 - ); + ).mountComponent(null, '.rX', transaction, 0); var output = Danger.dangerouslyRenderMarkup([markup])[0]; expect(output.nodeName).toBe('DIV'); @@ -63,7 +59,7 @@ describe('Danger', function() { it('should render wrapped markup', function() { var markup = instantiateReactComponent(