diff --git a/src/renderers/shared/fiber/ReactFiberBeginWork.js b/src/renderers/shared/fiber/ReactFiberBeginWork.js index c1ad706b5b..6cda6b7df8 100644 --- a/src/renderers/shared/fiber/ReactFiberBeginWork.js +++ b/src/renderers/shared/fiber/ReactFiberBeginWork.js @@ -46,6 +46,7 @@ var { addToQueue, mergeStateQueue, } = require('ReactFiberStateQueue'); +var ReactInstanceMap = require('ReactInstanceMap'); module.exports = function(config : HostConfig, getScheduler : () => Scheduler) { @@ -149,7 +150,7 @@ module.exports = function(config : HostConfig, getSchedu // Class component state updater const updater = { enqueueSetState(instance, partialState) { - const fiber = instance._fiber; + const fiber = ReactInstanceMap.get(instance); const stateQueue = fiber.stateQueue ? addToQueue(fiber.stateQueue, partialState) : createStateQueue(partialState); @@ -182,7 +183,7 @@ module.exports = function(config : HostConfig, getSchedu workInProgress.stateQueue = createStateQueue(state); } // The instance needs access to the fiber so that it can schedule updates - instance._fiber = workInProgress; + ReactInstanceMap.set(instance, workInProgress); instance.updater = updater; } else if (typeof instance.shouldComponentUpdate === 'function') { if (workInProgress.memoizedProps !== null) { diff --git a/src/renderers/shared/stack/reconciler/ReactInstanceMap.js b/src/renderers/shared/shared/ReactInstanceMap.js similarity index 100% rename from src/renderers/shared/stack/reconciler/ReactInstanceMap.js rename to src/renderers/shared/shared/ReactInstanceMap.js