MCPcopy
hub / github.com/facebook/react / resumeNode

Function resumeNode

packages/react-server/src/ReactFizzServer.js:3021–3061  ·  view source on GitHub ↗
(
  request: Request,
  task: ReplayTask,
  segmentId: number,
  node: ReactNodeList,
  childIndex: number,
)

Source from the content-addressed store, hash-verified

3019}
3020
3021function resumeNode(
3022 request: Request,
3023 task: ReplayTask,
3024 segmentId: number,
3025 node: ReactNodeList,
3026 childIndex: number,
3027): void {
3028 const prevReplay = task.replay;
3029 const blockedBoundary = task.blockedBoundary;
3030 const resumedSegment = createPendingSegment(
3031 request,
3032 0,
3033 null,
3034 task.formatContext,
3035 false,
3036 false,
3037 );
3038 resumedSegment.id = segmentId;
3039 resumedSegment.parentFlushed = true;
3040 try {
3041 // Convert the current ReplayTask to a RenderTask.
3042 const renderTask: RenderTask = (task: any);
3043 renderTask.replay = null;
3044 renderTask.blockedSegment = resumedSegment;
3045 renderNode(request, task, node, childIndex);
3046 resumedSegment.status = COMPLETED;
3047 finishedSegment(request, blockedBoundary, resumedSegment);
3048 if (blockedBoundary === null) {
3049 request.completedRootSegment = resumedSegment;
3050 } else {
3051 queueCompletedSegment(blockedBoundary, resumedSegment);
3052 if (blockedBoundary.parentFlushed) {
3053 request.partialBoundaries.push(blockedBoundary);
3054 }
3055 }
3056 } finally {
3057 // Restore to a ReplayTask.
3058 task.replay = prevReplay;
3059 task.blockedSegment = null;
3060 }
3061}
3062
3063function replayElement(
3064 request: Request,

Callers 4

renderSuspenseListRowsFunction · 0.85
renderNodeDestructiveFunction · 0.85
renderChildrenArrayFunction · 0.85
retryReplayTaskFunction · 0.85

Calls 5

createPendingSegmentFunction · 0.85
renderNodeFunction · 0.85
finishedSegmentFunction · 0.85
queueCompletedSegmentFunction · 0.85
pushMethod · 0.65

Tested by

no test coverage detected