in Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js [7780:7972]
throw Error(
"If the root does not have an updateQueue, we should have already bailed out. This error is likely caused by a bug in React. Please file an issue."
);
nextValue = workInProgress.pendingProps;
updateLanes = workInProgress.memoizedState.element;
cloneUpdateQueue(current, workInProgress);
processUpdateQueue(workInProgress, nextValue, null, renderLanes);
nextValue = workInProgress.memoizedState.element;
nextValue === updateLanes
? (workInProgress = bailoutOnAlreadyFinishedWork(
current,
workInProgress,
renderLanes
))
: (reconcileChildren(current, workInProgress, nextValue, renderLanes),
(workInProgress = workInProgress.child));
return workInProgress;
case 5:
return (
pushHostContext(workInProgress),
(updateLanes = workInProgress.pendingProps.children),
markRef(current, workInProgress),
reconcileChildren(current, workInProgress, updateLanes, renderLanes),
workInProgress.child
);
case 6:
return null;
case 13:
return updateSuspenseComponent(current, workInProgress, renderLanes);
case 4:
return (
pushHostContainer(
workInProgress,
workInProgress.stateNode.containerInfo
),
(updateLanes = workInProgress.pendingProps),
null === current
? (workInProgress.child = reconcileChildFibers(
workInProgress,
null,
updateLanes,
renderLanes
))
: reconcileChildren(
current,
workInProgress,
updateLanes,
renderLanes
),
workInProgress.child
);
case 11:
return (
(updateLanes = workInProgress.type),
(nextValue = workInProgress.pendingProps),
(nextValue =
workInProgress.elementType === updateLanes
? nextValue
: resolveDefaultProps(updateLanes, nextValue)),
updateForwardRef(
current,
workInProgress,
updateLanes,
nextValue,
renderLanes
)
);
case 7:
return (
reconcileChildren(
current,
workInProgress,
workInProgress.pendingProps,
renderLanes
),
workInProgress.child
);
case 8:
return (
reconcileChildren(
current,
workInProgress,
workInProgress.pendingProps.children,
renderLanes
),
workInProgress.child
);
case 12:
return (
(workInProgress.flags |= 4),
(updateLanes = workInProgress.stateNode),
(updateLanes.effectDuration = 0),
(updateLanes.passiveEffectDuration = 0),
reconcileChildren(
current,
workInProgress,
workInProgress.pendingProps.children,
renderLanes
),
workInProgress.child
);
case 10:
a: {
updateLanes = workInProgress.type._context;
nextValue = workInProgress.pendingProps;
hasContext = workInProgress.memoizedProps;
var newValue = nextValue.value;
push(valueCursor, updateLanes._currentValue);
updateLanes._currentValue = newValue;
if (null !== hasContext)
if (objectIs(hasContext.value, newValue)) {
if (
hasContext.children === nextValue.children &&
!didPerformWorkStackCursor.current
) {
workInProgress = bailoutOnAlreadyFinishedWork(
current,
workInProgress,
renderLanes
);
break a;
}
} else
for (
newValue = workInProgress.child,
null !== newValue && (newValue.return = workInProgress);
null !== newValue;
) {
var list = newValue.dependencies;
if (null !== list) {
hasContext = newValue.child;
for (
var dependency = list.firstContext;
null !== dependency;
) {
if (dependency.context === updateLanes) {
if (1 === newValue.tag) {
dependency = createUpdate(-1, renderLanes & -renderLanes);
dependency.tag = 2;
var updateQueue = newValue.updateQueue;
if (null !== updateQueue) {
updateQueue = updateQueue.shared;
var pending = updateQueue.pending;
null === pending
? (dependency.next = dependency)
: ((dependency.next = pending.next),
(pending.next = dependency));
updateQueue.pending = dependency;
}
}
newValue.lanes |= renderLanes;
dependency = newValue.alternate;
null !== dependency && (dependency.lanes |= renderLanes);
scheduleWorkOnParentPath(newValue.return, renderLanes);
list.lanes |= renderLanes;
break;
}
dependency = dependency.next;
}
} else
hasContext =
10 === newValue.tag
? newValue.type === workInProgress.type
? null
: newValue.child
: newValue.child;
if (null !== hasContext) hasContext.return = newValue;
else
for (hasContext = newValue; null !== hasContext; ) {
if (hasContext === workInProgress) {
hasContext = null;
break;
}
newValue = hasContext.sibling;
if (null !== newValue) {
newValue.return = hasContext.return;
hasContext = newValue;
break;
}
hasContext = hasContext.return;
}
newValue = hasContext;
}
reconcileChildren(
current,
workInProgress,
nextValue.children,
renderLanes
);
workInProgress = workInProgress.child;
}