From 8687645c50b0211f60ded688d95fedd9735a37ee Mon Sep 17 00:00:00 2001 From: Tim Yung Date: Wed, 10 Jul 2013 14:45:01 -0700 Subject: [PATCH] Reduce Lookup for Missing Lifecycle Methods This is a micro-optimization that reduces the lookup time for missing lifecycle methods. The extra amount of memory is linear to the number of components that exist on a page which I think is a worthwile trade-off. --- src/core/ReactCompositeComponent.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/core/ReactCompositeComponent.js b/src/core/ReactCompositeComponent.js index d76939bb6c..95b1019fa7 100644 --- a/src/core/ReactCompositeComponent.js +++ b/src/core/ReactCompositeComponent.js @@ -875,6 +875,12 @@ var ReactCompositeComponent = { Constructor.prototype.render, 'createClass(...): Class specification must implement a `render` method.' ); + // Reduce time spent doing lookups by setting these on the prototype. + for (var methodName in ReactCompositeComponentInterface) { + if (!Constructor.prototype[methodName]) { + Constructor.prototype[methodName] = null; + } + } var ConvenienceConstructor = function(props, children) { var instance = new Constructor();