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); } }