From 7b68fcd408f8e7da33d3bccbd3fe885802b3bc60 Mon Sep 17 00:00:00 2001 From: Tim Yung Date: Wed, 10 Jul 2013 14:44:51 -0700 Subject: [PATCH] Short-circuit `updatePropertyByID` When `ReactNativeComponent` updates, it calls `updatePropertyByID` in `ReactDOMIDOperations` which calls `DOMPropertyOperations`. However, in `ReactDOMIDOperations`, we will lookup the node for an ID using `ReactID.getNode`. This wastes time looking for nodes when we may not need to ever update it (e.g. `children`). This changes `ReactNativeComponent` to bail out sooner. --- src/core/ReactNativeComponent.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/core/ReactNativeComponent.js b/src/core/ReactNativeComponent.js index 122029a64b..4e5cc25d8a 100644 --- a/src/core/ReactNativeComponent.js +++ b/src/core/ReactNativeComponent.js @@ -20,6 +20,7 @@ "use strict"; var CSSPropertyOperations = require('CSSPropertyOperations'); +var DOMProperty = require('DOMProperty'); var DOMPropertyOperations = require('DOMPropertyOperations'); var ReactComponent = require('ReactComponent'); var ReactEventEmitter = require('ReactEventEmitter'); @@ -277,7 +278,9 @@ ReactNativeComponent.Mixin = { } } else if (registrationNames[propKey]) { putListener(this._rootNodeID, propKey, nextProp); - } else { + } else if ( + DOMProperty.isStandardName[propKey] || + DOMProperty.isCustomAttribute(propKey)) { ReactComponent.DOMIDOperations.updatePropertyByID( this._rootNodeID, propKey,