MCPcopy Index your code
hub / github.com/plotly/dash / commitBeforeMutationEffectsOnFiber

Function commitBeforeMutationEffectsOnFiber

dash/deps/react-dom@18.2.0.js:23000–23079  ·  view source on GitHub ↗
(finishedWork)

Source from the content-addressed store, hash-verified

22998 }
22999
23000 function commitBeforeMutationEffectsOnFiber(finishedWork) {
23001 var current = finishedWork.alternate;
23002 var flags = finishedWork.flags;
23003
23004 if ((flags & Snapshot) !== NoFlags) {
23005 setCurrentFiber(finishedWork);
23006
23007 switch (finishedWork.tag) {
23008 case FunctionComponent:
23009 case ForwardRef:
23010 case SimpleMemoComponent:
23011 {
23012 break;
23013 }
23014
23015 case ClassComponent:
23016 {
23017 if (current !== null) {
23018 var prevProps = current.memoizedProps;
23019 var prevState = current.memoizedState;
23020 var instance = finishedWork.stateNode; // We could update instance props and state here,
23021 // but instead we rely on them being set during last render.
23022 // TODO: revisit this when we implement resuming.
23023
23024 {
23025 if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {
23026 if (instance.props !== finishedWork.memoizedProps) {
23027 error('Expected %s props to match memoized props before ' + 'getSnapshotBeforeUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');
23028 }
23029
23030 if (instance.state !== finishedWork.memoizedState) {
23031 error('Expected %s state to match memoized state before ' + 'getSnapshotBeforeUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.state`. ' + 'Please file an issue.', getComponentNameFromFiber(finishedWork) || 'instance');
23032 }
23033 }
23034 }
23035
23036 var snapshot = instance.getSnapshotBeforeUpdate(finishedWork.elementType === finishedWork.type ? prevProps : resolveDefaultProps(finishedWork.type, prevProps), prevState);
23037
23038 {
23039 var didWarnSet = didWarnAboutUndefinedSnapshotBeforeUpdate;
23040
23041 if (snapshot === undefined && !didWarnSet.has(finishedWork.type)) {
23042 didWarnSet.add(finishedWork.type);
23043
23044 error('%s.getSnapshotBeforeUpdate(): A snapshot value (or null) ' + 'must be returned. You have returned undefined.', getComponentNameFromFiber(finishedWork));
23045 }
23046 }
23047
23048 instance.__reactInternalSnapshotBeforeUpdate = snapshot;
23049 }
23050
23051 break;
23052 }
23053
23054 case HostRoot:
23055 {
23056 {
23057 var root = finishedWork.stateNode;

Callers 1

Calls 7

setCurrentFiberFunction · 0.70
errorFunction · 0.70
resolveDefaultPropsFunction · 0.70
clearContainerFunction · 0.70
resetCurrentFiberFunction · 0.70
addMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…