MCPcopy Create free account
hub / github.com/krasimir/react-in-patterns / performUnitOfWork

Function performUnitOfWork

code/communication/public/app.js:13251–13284  ·  view source on GitHub ↗
(workInProgress)

Source from the content-addressed store, hash-verified

13249 }
13250
13251 function performUnitOfWork(workInProgress) {
13252 // The current, flushed, state of this fiber is the alternate.
13253 // Ideally nothing should rely on this, but relying on it here
13254 // means that we don't need an additional field on the work in
13255 // progress.
13256 var current = workInProgress.alternate;
13257
13258 // See if beginning this work spawns more work.
13259 startWorkTimer(workInProgress);
13260 {
13261 ReactDebugCurrentFiber.setCurrentFiber(workInProgress);
13262 }
13263
13264 if (true && replayFailedUnitOfWorkWithInvokeGuardedCallback) {
13265 stashedWorkInProgressProperties = _assign({}, workInProgress);
13266 }
13267 var next = beginWork(current, workInProgress, nextRenderExpirationTime);
13268
13269 {
13270 ReactDebugCurrentFiber.resetCurrentFiber();
13271 }
13272 if (true && ReactFiberInstrumentation_1.debugTool) {
13273 ReactFiberInstrumentation_1.debugTool.onBeginWork(workInProgress);
13274 }
13275
13276 if (next === null) {
13277 // If this doesn't spawn new work, complete the current work.
13278 next = completeUnitOfWork(workInProgress);
13279 }
13280
13281 ReactCurrentOwner.current = null;
13282
13283 return next;
13284 }
13285
13286 function workLoop(isAsync) {
13287 if (!isAsync) {

Callers 1

workLoopFunction · 0.70

Calls 3

startWorkTimerFunction · 0.70
beginWorkFunction · 0.70
completeUnitOfWorkFunction · 0.70

Tested by

no test coverage detected