From 0cd1d3b5a252ec99b4452c0d3e91a952dea780ff Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Wed, 11 May 2016 23:31:48 +0100 Subject: [PATCH] Allow empty components in the native operation logs Fixes #6742 --- src/isomorphic/ReactPerf.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/isomorphic/ReactPerf.js b/src/isomorphic/ReactPerf.js index 4c631a7f13..f89de6764c 100644 --- a/src/isomorphic/ReactPerf.js +++ b/src/isomorphic/ReactPerf.js @@ -236,11 +236,17 @@ function getWasted(flushHistory = getFlushHistory()) { function getOperations(flushHistory = getFlushHistory()) { var stats = []; + flushHistory.forEach((flush, flushIndex) => { var {operations, treeSnapshot} = flush; + operations.forEach(operation => { var {instanceID, type, payload} = operation; - var {displayName, ownerID} = treeSnapshot[instanceID]; + var {displayName, ownerID} = instanceID !== 0 ? + treeSnapshot[instanceID] : + // Empty components may appear in some operation logs. + {displayName: '#empty', ownerID: null}; + var owner = treeSnapshot[ownerID]; var key = (owner ? owner.displayName + ' > ' : '') + displayName;