From fae3e5308bca79da4f7acc2d06b8adc3fbb1ea27 Mon Sep 17 00:00:00 2001 From: Sebastian Markbage Date: Tue, 11 Oct 2016 15:52:11 -0700 Subject: [PATCH] Use memoizedState in componentDidUpdate We forgot to clone this value so it didn't work before. This is covered by existing tests in ReactDOMProduction. --- src/renderers/shared/fiber/ReactFiber.js | 1 + src/renderers/shared/fiber/ReactFiberCommitWork.js | 4 +--- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/renderers/shared/fiber/ReactFiber.js b/src/renderers/shared/fiber/ReactFiber.js index 6c1d557325..0eee40f1b3 100644 --- a/src/renderers/shared/fiber/ReactFiber.js +++ b/src/renderers/shared/fiber/ReactFiber.js @@ -253,6 +253,7 @@ exports.cloneFiber = function(fiber : Fiber, priorityLevel : PriorityLevel) : Fi alt.pendingWorkPriority = priorityLevel; alt.memoizedProps = fiber.memoizedProps; + alt.memoizedState = fiber.memoizedState; alt.output = fiber.output; return alt; diff --git a/src/renderers/shared/fiber/ReactFiberCommitWork.js b/src/renderers/shared/fiber/ReactFiberCommitWork.js index 837f12d00c..a972dc5623 100644 --- a/src/renderers/shared/fiber/ReactFiberCommitWork.js +++ b/src/renderers/shared/fiber/ReactFiberCommitWork.js @@ -289,9 +289,7 @@ module.exports = function(config : HostConfig) { } else { if (typeof instance.componentDidUpdate === 'function') { const prevProps = current.memoizedProps; - // TODO: This is the new state. We don't currently have the previous - // state anymore. - const prevState = instance.state || null; + const prevState = current.memoizedState; instance.componentDidUpdate(prevProps, prevState); } }