Setup Wave 2 of Feature Flags for React Native (#28990)
## Summary Sets up dynamic feature flags for `disableStringRefs`, `enableFastJSX`, and `enableRefAsProp` in React Native (at Meta). ## How did you test this change? ``` $ yarn test $ yarn flow fabric ```
Timothy Yung committed
May 6, 2024 at 10:30 UTC
9b1300209eb00a2d6c645fddf6d2729d67d7b10a
3 files changed
+15
-15
packages/shared/forks/ReactFeatureFlags.native-fb-dynamic.js
+6
-3
@@ -19,10 +19,13 @@
19
20
export const alwaysThrottleRetries = __VARIANT__;
21
export const consoleManagedByDevToolsDuringStrictMode = __VARIANT__;
22
-export const enableEarlyReturnForPropDiffing = __VARIANT__;
22
+export const disableDefaultPropsExceptForClasses = __VARIANT__;
23
+export const disableStringRefs = __VARIANT__;
24
+export const enableAddPropertiesFastPath = __VARIANT__;
25
export const enableDeferRootSchedulingToMicrotask = __VARIANT__;
26
+export const enableEarlyReturnForPropDiffing = __VARIANT__;
27
+export const enableFastJSX = __VARIANT__;
28
export const enableInfiniteRenderLoopDetection = __VARIANT__;
29
+export const enableRefAsProp = __VARIANT__;
30
export const enableUnifiedSyncLane = __VARIANT__;
31
export const passChildrenWhenCloningPersistedNodes = __VARIANT__;
27
-export const disableDefaultPropsExceptForClasses = __VARIANT__;
28
-export const enableAddPropertiesFastPath = __VARIANT__;
packages/shared/forks/ReactFeatureFlags.native-fb.js
+6
-9
@@ -21,13 +21,16 @@ const dynamicFlags: DynamicExportsType = (dynamicFlagsUntyped: any);
21
export const {
22
alwaysThrottleRetries,
23
consoleManagedByDevToolsDuringStrictMode,
24
- enableEarlyReturnForPropDiffing,
24
+ disableDefaultPropsExceptForClasses,
25
+ disableStringRefs,
26
+ enableAddPropertiesFastPath,
27
enableDeferRootSchedulingToMicrotask,
28
+ enableEarlyReturnForPropDiffing,
29
+ enableFastJSX,
30
enableInfiniteRenderLoopDetection,
31
+ enableRefAsProp,
32
enableUnifiedSyncLane,
33
passChildrenWhenCloningPersistedNodes,
29
- disableDefaultPropsExceptForClasses,
30
- enableAddPropertiesFastPath,
34
} = dynamicFlags;
35
36
// The rest of the flags are static for better dead code elimination.
@@ -94,12 +97,6 @@ export const disableClientCache = true;
97
export const enableServerComponentKeys = true;
98
export const enableServerComponentLogs = true;
99
97
-// TODO: Roll out with GK. Don't keep as dynamic flag for too long, though,
98
-// because JSX is an extremely hot path.
99
-export const enableRefAsProp = false;
100
-export const disableStringRefs = false;
101
-export const enableFastJSX = false;
102
-
100
export const enableReactTestRendererWarning = false;
101
export const disableLegacyMode = false;
102
export const disableDOMTestUtils = false;
packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js
+3
-3
@@ -80,9 +80,9 @@ export const disableClientCache = true;
80
export const enableServerComponentKeys = true;
81
export const enableServerComponentLogs = true;
82
83
-export const enableRefAsProp = false;
84
-export const disableStringRefs = false;
85
-export const enableFastJSX = false;
83
+export const enableRefAsProp = true;
84
+export const disableStringRefs = true;
85
+export const enableFastJSX = true;
86
87
export const enableReactTestRendererWarning = false;
88
export const disableLegacyMode = false;