From 0e9cb3f5d0bfd4fe08ac8fcfba71302559614282 Mon Sep 17 00:00:00 2001 From: Dominic Gannaway Date: Mon, 19 Nov 2018 16:09:11 +0000 Subject: [PATCH] Clear fields on unmount of fiber to avoid memory leak (#14276) * Clear fields on unmount of fiber to avoid memory leak --- packages/react-reconciler/src/ReactFiberCommitWork.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/react-reconciler/src/ReactFiberCommitWork.js b/packages/react-reconciler/src/ReactFiberCommitWork.js index 55a39ee640..2594e94895 100644 --- a/packages/react-reconciler/src/ReactFiberCommitWork.js +++ b/packages/react-reconciler/src/ReactFiberCommitWork.js @@ -728,9 +728,14 @@ function detachFiber(current: Fiber) { // itself will be GC:ed when the parent updates the next time. current.return = null; current.child = null; - if (current.alternate) { - current.alternate.child = null; - current.alternate.return = null; + current.memoizedState = null; + current.updateQueue = null; + const alternate = current.alternate; + if (alternate !== null) { + alternate.return = null; + alternate.child = null; + alternate.memoizedState = null; + alternate.updateQueue = null; } }