From ebde47da60c0f3f528a7192f71b9068816296671 Mon Sep 17 00:00:00 2001 From: Tomek Zawadzki Date: Mon, 20 Feb 2023 12:48:14 +0100 Subject: [PATCH] Run commit hooks before layout calculation --- ReactCommon/react/renderer/mounting/ShadowTree.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ReactCommon/react/renderer/mounting/ShadowTree.cpp b/ReactCommon/react/renderer/mounting/ShadowTree.cpp index 109cada60db834..0b9106bbb5d2b0 100644 --- a/ReactCommon/react/renderer/mounting/ShadowTree.cpp +++ b/ReactCommon/react/renderer/mounting/ShadowTree.cpp @@ -351,6 +351,10 @@ CommitStatus ShadowTree::tryCommit( } } + // Run commit hooks. + newRootShadowNode = delegate_.shadowTreeWillCommit( + *this, oldRootShadowNode, newRootShadowNode); + // Layout nodes. std::vector affectedLayoutableNodes{}; affectedLayoutableNodes.reserve(1024); @@ -374,9 +378,6 @@ CommitStatus ShadowTree::tryCommit( auto newRevisionNumber = oldRevision.number + 1; - newRootShadowNode = delegate_.shadowTreeWillCommit( - *this, oldRootShadowNode, newRootShadowNode); - if (!newRootShadowNode || (commitOptions.shouldYield && commitOptions.shouldYield())) { return CommitStatus::Cancelled;