dillon1000/react
Commit
Browse files Debug render-phase side effects in "strict" mode (#12094)
A new feature flag has been added, debugRenderPhaseSideEffectsForStrictMode. When enabled, StrictMode subtrees will also double-invoke lifecycles in the same way as debugRenderPhaseSideEffects. By default, this flag is enabled for __DEV__ only. Internally we can toggle it with a GK. This breaks several of our incremental tests which make use of the noop-renderer. Updating the tests to account for the double-rendering in development mode makes them significantly more complicated. The most straight forward fix for this will be to convert them to be run as internal tests only. I believe this is reasonable since we are the only people making use of the noop renderer.
Changed paths18 files
First-parent comparisonpackages/react-call-return/src/__tests__/ReactCallReturn-test.internal.js RenamedM packages/react-reconciler/src/ReactFiberBeginWork.js ModifiedM packages/react-reconciler/src/ReactFiberClassComponent.js ModifiedM packages/react-reconciler/src/ReactFiberUpdateQueue.js ModifiedR packages/react-reconciler/src/__tests__/ReactIncremental-test.js →packages/react-reconciler/src/__tests__/ReactIncremental-test.internal.js RenamedR packages/react-reconciler/src/__tests__/ReactIncrementalErrorHandling-test.js →packages/react-reconciler/src/__tests__/ReactIncrementalErrorHandling-test.internal.js RenamedM packages/react-reconciler/src/__tests__/ReactIncrementalErrorLogging-test.internal.js ModifiedR packages/react-reconciler/src/__tests__/ReactIncrementalReflection-test.js →packages/react-reconciler/src/__tests__/ReactIncrementalReflection-test.internal.js RenamedR packages/react-reconciler/src/__tests__/ReactIncrementalScheduling-test.js →packages/react-reconciler/src/__tests__/ReactIncrementalScheduling-test.internal.js RenamedR packages/react-reconciler/src/__tests__/ReactIncrementalSideEffects-test.js →packages/react-reconciler/src/__tests__/ReactIncrementalSideEffects-test.internal.js RenamedR packages/react-reconciler/src/__tests__/ReactIncrementalTriangle-test.js →packages/react-reconciler/src/__tests__/ReactIncrementalTriangle-test.internal.js RenamedR packages/react-reconciler/src/__tests__/ReactIncrementalUpdates-test.js →packages/react-reconciler/src/__tests__/ReactIncrementalUpdates-test.internal.js RenamedM packages/react-reconciler/src/__tests__/ReactNewContext-test.internal.js ModifiedM packages/react/src/__tests__/ReactStrictMode-test.internal.js ModifiedM packages/shared/ReactFeatureFlags.js ModifiedM packages/shared/forks/ReactFeatureFlags.native-fabric.js ModifiedM packages/shared/forks/ReactFeatureFlags.native.js ModifiedM packages/shared/forks/ReactFeatureFlags.www.js ModifiedPatch
Files changed
Rendering syntax-highlighted changes…