diff --git a/src/renderers/shared/fiber/ReactFiberBeginWork.js b/src/renderers/shared/fiber/ReactFiberBeginWork.js index 050e9d951d..f0393658fe 100644 --- a/src/renderers/shared/fiber/ReactFiberBeginWork.js +++ b/src/renderers/shared/fiber/ReactFiberBeginWork.js @@ -260,7 +260,7 @@ module.exports = function( if (current === null) { if (!workInProgress.stateNode) { // In the initial pass we might need to construct the instance. - constructClassInstance(workInProgress); + constructClassInstance(workInProgress, workInProgress.pendingProps); mountClassInstance(workInProgress, priorityLevel); shouldUpdate = true; } else { diff --git a/src/renderers/shared/fiber/ReactFiberClassComponent.js b/src/renderers/shared/fiber/ReactFiberClassComponent.js index 573e8f1bbb..d97e5b5aa1 100644 --- a/src/renderers/shared/fiber/ReactFiberClassComponent.js +++ b/src/renderers/shared/fiber/ReactFiberClassComponent.js @@ -285,9 +285,8 @@ module.exports = function( ReactInstanceMap.set(instance, workInProgress); } - function constructClassInstance(workInProgress: Fiber): any { + function constructClassInstance(workInProgress: Fiber, props: any): any { const ctor = workInProgress.type; - const props = workInProgress.pendingProps; const unmaskedContext = getUnmaskedContext(workInProgress); const needsContext = isContextConsumer(workInProgress); const context = needsContext @@ -411,7 +410,7 @@ module.exports = function( // If we didn't bail out we need to construct a new instance. We don't // want to reuse one that failed to fully mount. - const newInstance = constructClassInstance(workInProgress); + const newInstance = constructClassInstance(workInProgress, newProps); newInstance.props = newProps; newInstance.state = newState = newInstance.state || null; newInstance.context = newContext;