throw Error()

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;
      }