From db6bfb53e16556d916ca1a27f9bc2b7e370ca245 Mon Sep 17 00:00:00 2001 From: Ruud Date: Wed, 15 Aug 2018 09:51:28 +0200 Subject: [PATCH] De-duplicate commitUpdateQueue effect commit --- .../react-reconciler/src/ReactUpdateQueue.js | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/packages/react-reconciler/src/ReactUpdateQueue.js b/packages/react-reconciler/src/ReactUpdateQueue.js index 22e88ae8cc48..f4d2354f2d14 100644 --- a/packages/react-reconciler/src/ReactUpdateQueue.js +++ b/packages/react-reconciler/src/ReactUpdateQueue.js @@ -599,19 +599,17 @@ export function commitUpdateQueue( } // Commit the effects - let effect = finishedQueue.firstEffect; + commitUpdateEffects(finishedQueue.firstEffect, instance); finishedQueue.firstEffect = finishedQueue.lastEffect = null; - while (effect !== null) { - const callback = effect.callback; - if (callback !== null) { - effect.callback = null; - callCallback(callback, instance); - } - effect = effect.nextEffect; - } - effect = finishedQueue.firstCapturedEffect; + commitUpdateEffects(finishedQueue.firstCapturedEffect, instance); finishedQueue.firstCapturedEffect = finishedQueue.lastCapturedEffect = null; +} + +function commitUpdateEffects( + effect: Update | null, + instance: any, +): void { while (effect !== null) { const callback = effect.callback; if (callback !== null) {