Skip to content

Commit 3c02b13

Browse files
committed
Unify ReactFiberCurrentOwner and ReactCurrentFiber
1 parent 6ef0dd4 commit 3c02b13

File tree

11 files changed

+37
-54
lines changed

11 files changed

+37
-54
lines changed

packages/react-dom/src/client/ReactDOMRootFB.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ import {LegacyRoot} from 'react-reconciler/src/ReactRootTags';
6161
import getComponentNameFromType from 'shared/getComponentNameFromType';
6262
import {has as hasInstance} from 'shared/ReactInstanceMap';
6363

64-
import {currentOwner} from 'react-reconciler/src/ReactFiberCurrentOwner';
64+
import {current as currentOwner} from 'react-reconciler/src/ReactCurrentFiber';
6565

6666
import assign from 'shared/assign';
6767

packages/react-native-renderer/src/ReactNativePublicCompat.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import {
2525
} from 'react-reconciler/src/ReactFiberReconciler';
2626
import {doesFiberContain} from 'react-reconciler/src/ReactFiberTreeReflection';
2727
import getComponentNameFromType from 'shared/getComponentNameFromType';
28-
import {currentOwner} from 'react-reconciler/src/ReactFiberCurrentOwner';
28+
import {current as currentOwner} from 'react-reconciler/src/ReactCurrentFiber';
2929

3030
export function findHostInstance_DEPRECATED<TElementType: ElementType>(
3131
componentOrHandle: ?(ElementRef<TElementType> | number),

packages/react-reconciler/src/ReactCurrentFiber.js

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,21 +41,33 @@ function getCurrentFiberStackInDev(): string {
4141
return '';
4242
}
4343

44+
export function resetCurrentDebugFiberInDEV() {
45+
if (__DEV__) {
46+
resetCurrentFiber();
47+
}
48+
}
49+
50+
export function setCurrentDebugFiberInDEV(fiber: Fiber | null) {
51+
if (__DEV__) {
52+
setCurrentFiber(fiber);
53+
}
54+
}
55+
4456
export function resetCurrentFiber() {
4557
if (__DEV__) {
4658
ReactSharedInternals.getCurrentStack = null;
47-
current = null;
4859
isRendering = false;
4960
}
61+
current = null;
5062
}
5163

5264
export function setCurrentFiber(fiber: Fiber | null) {
5365
if (__DEV__) {
5466
ReactSharedInternals.getCurrentStack =
5567
fiber === null ? null : getCurrentFiberStackInDev;
56-
current = fiber;
5768
isRendering = false;
5869
}
70+
current = fiber;
5971
}
6072

6173
export function getCurrentFiber(): Fiber | null {

packages/react-reconciler/src/ReactFiberAsyncDispatcher.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import {CacheContext} from './ReactFiberCacheComponent';
1616

1717
import {disableStringRefs} from 'shared/ReactFeatureFlags';
1818

19-
import {currentOwner} from './ReactFiberCurrentOwner';
19+
import {current as currentOwner} from 'react-reconciler/src/ReactCurrentFiber';
2020

2121
function getCacheForType<T>(resourceType: () => T): T {
2222
if (!enableCache) {

packages/react-reconciler/src/ReactFiberBeginWork.js

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ import {
125125
import {
126126
getCurrentFiberOwnerNameInDevOrNull,
127127
setIsRendering,
128+
setCurrentFiber,
128129
} from './ReactCurrentFiber';
129130
import {
130131
resolveFunctionForHotReloading,
@@ -296,7 +297,6 @@ import {
296297
pushRootMarkerInstance,
297298
TransitionTracingMarker,
298299
} from './ReactFiberTracingMarkerComponent';
299-
import {setCurrentOwner} from './ReactFiberCurrentOwner';
300300

301301
// A special exception that's used to unwind the stack when an update flows
302302
// into a dehydrated boundary.
@@ -432,7 +432,6 @@ function updateForwardRef(
432432
markComponentRenderStarted(workInProgress);
433433
}
434434
if (__DEV__) {
435-
setCurrentOwner(workInProgress);
436435
setIsRendering(true);
437436
nextChildren = renderWithHooks(
438437
current,
@@ -1150,7 +1149,6 @@ function updateFunctionComponent(
11501149
markComponentRenderStarted(workInProgress);
11511150
}
11521151
if (__DEV__) {
1153-
setCurrentOwner(workInProgress);
11541152
setIsRendering(true);
11551153
nextChildren = renderWithHooks(
11561154
current,
@@ -1373,7 +1371,7 @@ function finishClassComponent(
13731371

13741372
// Rerender
13751373
if (__DEV__ || !disableStringRefs) {
1376-
setCurrentOwner(workInProgress);
1374+
setCurrentFiber(workInProgress);
13771375
}
13781376
let nextChildren;
13791377
if (
@@ -3419,7 +3417,6 @@ function updateContextConsumer(
34193417
}
34203418
let newChildren;
34213419
if (__DEV__) {
3422-
setCurrentOwner(workInProgress);
34233420
setIsRendering(true);
34243421
newChildren = render(newValue);
34253422
setIsRendering(false);

packages/react-reconciler/src/ReactFiberCommitWork.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,8 @@ import {
101101
} from './ReactFiberFlags';
102102
import getComponentNameFromFiber from 'react-reconciler/src/getComponentNameFromFiber';
103103
import {
104-
resetCurrentFiber as resetCurrentDebugFiberInDEV,
105-
setCurrentFiber as setCurrentDebugFiberInDEV,
104+
resetCurrentDebugFiberInDEV,
105+
setCurrentDebugFiberInDEV,
106106
getCurrentFiber as getCurrentDebugFiberInDEV,
107107
} from './ReactCurrentFiber';
108108
import {resolveClassComponentProps} from './ReactFiberClassComponent';

packages/react-reconciler/src/ReactFiberCurrentOwner.js

Lines changed: 0 additions & 16 deletions
This file was deleted.

packages/react-reconciler/src/ReactFiberReconciler.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,8 @@ import {
7878
import {
7979
isRendering as ReactCurrentFiberIsRendering,
8080
current as ReactCurrentFiberCurrent,
81-
resetCurrentFiber as resetCurrentDebugFiberInDEV,
82-
setCurrentFiber as setCurrentDebugFiberInDEV,
81+
resetCurrentDebugFiberInDEV,
82+
setCurrentDebugFiberInDEV,
8383
} from './ReactCurrentFiber';
8484
import {StrictLegacyMode} from './ReactTypeOfMode';
8585
import {

packages/react-reconciler/src/ReactFiberTreeReflection.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import {
2424
SuspenseComponent,
2525
} from './ReactWorkTags';
2626
import {NoFlags, Placement, Hydrating} from './ReactFiberFlags';
27-
import {currentOwner} from './ReactFiberCurrentOwner';
27+
import {current as currentOwner} from './ReactCurrentFiber';
2828

2929
export function getNearestMountedFiber(fiber: Fiber): null | Fiber {
3030
let node = fiber;

packages/react-reconciler/src/ReactFiberWorkLoop.js

Lines changed: 11 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,6 @@ import {
204204
ContextOnlyDispatcher,
205205
} from './ReactFiberHooks';
206206
import {DefaultAsyncDispatcher} from './ReactFiberAsyncDispatcher';
207-
import {setCurrentOwner} from './ReactFiberCurrentOwner';
208207
import {
209208
createCapturedValueAtFiber,
210209
type CapturedValue,
@@ -230,8 +229,10 @@ import ReactStrictModeWarnings from './ReactStrictModeWarnings';
230229
import {
231230
isRendering as ReactCurrentDebugFiberIsRenderingInDEV,
232231
current as ReactCurrentFiberCurrent,
233-
resetCurrentFiber as resetCurrentDebugFiberInDEV,
234-
setCurrentFiber as setCurrentDebugFiberInDEV,
232+
setCurrentDebugFiberInDEV,
233+
resetCurrentDebugFiberInDEV,
234+
resetCurrentFiber,
235+
setCurrentFiber,
235236
} from './ReactCurrentFiber';
236237
import {
237238
isDevToolsPresent,
@@ -1683,9 +1684,8 @@ function handleThrow(root: FiberRoot, thrownValue: any): void {
16831684
// These should be reset immediately because they're only supposed to be set
16841685
// when React is executing user code.
16851686
resetHooksAfterThrow();
1686-
resetCurrentDebugFiberInDEV();
16871687
if (__DEV__ || !disableStringRefs) {
1688-
setCurrentOwner(null);
1688+
resetCurrentFiber();
16891689
}
16901690

16911691
if (thrownValue === SuspenseException) {
@@ -2377,18 +2377,16 @@ function performUnitOfWork(unitOfWork: Fiber): void {
23772377
next = beginWork(current, unitOfWork, entangledRenderLanes);
23782378
}
23792379

2380-
resetCurrentDebugFiberInDEV();
2380+
if (__DEV__ || !disableStringRefs) {
2381+
resetCurrentFiber();
2382+
}
23812383
unitOfWork.memoizedProps = unitOfWork.pendingProps;
23822384
if (next === null) {
23832385
// If this doesn't spawn new work, complete the current work.
23842386
completeUnitOfWork(unitOfWork);
23852387
} else {
23862388
workInProgress = next;
23872389
}
2388-
2389-
if (__DEV__ || !disableStringRefs) {
2390-
setCurrentOwner(null);
2391-
}
23922390
}
23932391

23942392
function replaySuspendedUnitOfWork(unitOfWork: Fiber): void {
@@ -2399,7 +2397,6 @@ function replaySuspendedUnitOfWork(unitOfWork: Fiber): void {
23992397
setCurrentDebugFiberInDEV(unitOfWork);
24002398

24012399
let next;
2402-
setCurrentDebugFiberInDEV(unitOfWork);
24032400
const isProfilingMode =
24042401
enableProfilerTimer && (unitOfWork.mode & ProfileMode) !== NoMode;
24052402
if (isProfilingMode) {
@@ -2492,18 +2489,16 @@ function replaySuspendedUnitOfWork(unitOfWork: Fiber): void {
24922489
// The begin phase finished successfully without suspending. Return to the
24932490
// normal work loop.
24942491

2495-
resetCurrentDebugFiberInDEV();
2492+
if (__DEV__ || !disableStringRefs) {
2493+
resetCurrentFiber();
2494+
}
24962495
unitOfWork.memoizedProps = unitOfWork.pendingProps;
24972496
if (next === null) {
24982497
// If this doesn't spawn new work, complete the current work.
24992498
completeUnitOfWork(unitOfWork);
25002499
} else {
25012500
workInProgress = next;
25022501
}
2503-
2504-
if (__DEV__ || !disableStringRefs) {
2505-
setCurrentOwner(null);
2506-
}
25072502
}
25082503

25092504
function throwAndUnwindWorkLoop(
@@ -2893,11 +2888,6 @@ function commitRootImpl(
28932888
const prevExecutionContext = executionContext;
28942889
executionContext |= CommitContext;
28952890

2896-
// Reset this to null before calling lifecycles
2897-
if (__DEV__ || !disableStringRefs) {
2898-
setCurrentOwner(null);
2899-
}
2900-
29012891
// The commit phase is broken into several sub-phases. We do a separate pass
29022892
// of the effect list for each phase: all mutation effects come before all
29032893
// layout effects, and so on.

0 commit comments

Comments
 (0)