@samitouri / QOS-React-2 / commits / aae31ae24c

ReactMount calls a legacy factory use createDescriptor instead

This fixes some log spew since this pattern is deprecated. This doesn't use the validator in the descriptor creation so there's no prop type checks here. I guess that's fine because we still have the second prop type checks. We need to use ReactLegacyDescriptor because the constructor here will be a legacy factory that we need to unwrap. constructAndRenderComponent should be deprecated.

Sebastian Markbage committed Aug 19, 2014 at 23:17 UTC aae31ae24c67216894ae42b8481a599206d18690
1 file changed +7 -1
src/browser/ui/ReactMount.js
+7 -1
@@ -22,6 +22,7 @@ var DOMProperty = require('DOMProperty');
22 var ReactBrowserEventEmitter = require('ReactBrowserEventEmitter');
23 var ReactCurrentOwner = require('ReactCurrentOwner');
24 var ReactDescriptor = require('ReactDescriptor');
25 +var ReactLegacyDescriptor = require('ReactLegacyDescriptor');
26 var ReactInstanceHandles = require('ReactInstanceHandles');
27 var ReactPerf = require('ReactPerf');
28
@@ -32,6 +33,10 @@ var invariant = require('invariant');
33 var shouldUpdateReactComponent = require('shouldUpdateReactComponent');
34 var warning = require('warning');
35
36 +var createDescriptor = ReactLegacyDescriptor.wrapCreateDescriptor(
37 + ReactDescriptor.createDescriptor
38 +);
39 +
40 var SEPARATOR = ReactInstanceHandles.SEPARATOR;
41
42 var ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME;
@@ -392,7 +397,8 @@ var ReactMount = {
397 * @return {ReactComponent} Component instance rendered in `container`.
398 */
399 constructAndRenderComponent: function(constructor, props, container) {
395 - return ReactMount.renderComponent(constructor(props), container);
400 + var descriptor = createDescriptor(constructor, props);
401 + return ReactMount.renderComponent(descriptor, container);
402 },
403
404 /**