add offscreen state node (#24026)
Add state node on Offscreen fibers with id (in preparation for transition tracing)
Luna Ruan committed
Mar 15, 2022 at 16:28 UTC
0412f0c1a46ef60032b70c43d55ec010f908855f
3 files changed
+14
-2
packages/react-reconciler/src/ReactFiber.new.js
+6
-1
@@ -15,7 +15,10 @@ import type {WorkTag} from './ReactWorkTags';
15
import type {TypeOfMode} from './ReactTypeOfMode';
16
import type {Lanes} from './ReactFiberLane.new';
17
import type {SuspenseInstance, Props} from './ReactFiberHostConfig';
18
-import type {OffscreenProps} from './ReactFiberOffscreenComponent';
18
+import type {
19
+ OffscreenProps,
20
+ OffscreenInstance,
21
+} from './ReactFiberOffscreenComponent';
22
23
import {
24
createRootStrictEffectsByDefault,
@@ -735,6 +738,8 @@ export function createFiberFromOffscreen(
738
const fiber = createFiber(OffscreenComponent, pendingProps, key, mode);
739
fiber.elementType = REACT_OFFSCREEN_TYPE;
740
fiber.lanes = lanes;
741
+ const primaryChildInstance: OffscreenInstance = {};
742
+ fiber.stateNode = primaryChildInstance;
743
return fiber;
744
}
745
packages/react-reconciler/src/ReactFiber.old.js
+6
-1
@@ -15,7 +15,10 @@ import type {WorkTag} from './ReactWorkTags';
15
import type {TypeOfMode} from './ReactTypeOfMode';
16
import type {Lanes} from './ReactFiberLane.old';
17
import type {SuspenseInstance, Props} from './ReactFiberHostConfig';
18
-import type {OffscreenProps} from './ReactFiberOffscreenComponent';
18
+import type {
19
+ OffscreenProps,
20
+ OffscreenInstance,
21
+} from './ReactFiberOffscreenComponent';
22
23
import {
24
createRootStrictEffectsByDefault,
@@ -735,6 +738,8 @@ export function createFiberFromOffscreen(
738
const fiber = createFiber(OffscreenComponent, pendingProps, key, mode);
739
fiber.elementType = REACT_OFFSCREEN_TYPE;
740
fiber.lanes = lanes;
741
+ const primaryChildInstance: OffscreenInstance = {};
742
+ fiber.stateNode = primaryChildInstance;
743
return fiber;
744
}
745
packages/react-reconciler/src/ReactFiberOffscreenComponent.js
+2
@@ -31,3 +31,5 @@ export type OffscreenState = {|
31
baseLanes: Lanes,
32
cachePool: SpawnedCachePool | null,
33
|};
34
+
35
+export type OffscreenInstance = {};