From f5528063eecf505e2d49a38b5f95ca256289daad Mon Sep 17 00:00:00 2001 From: Ricky Hanlon Date: Mon, 29 Jan 2024 17:09:51 -0500 Subject: [PATCH] Move modern strict to experimental --- .../src/__tests__/ReactStrictMode-test.js | 32 +++++++++++++------ packages/shared/ReactFeatureFlags.js | 2 +- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/packages/react/src/__tests__/ReactStrictMode-test.js b/packages/react/src/__tests__/ReactStrictMode-test.js index 4ccc9a2687175..1834a7d0f30e6 100644 --- a/packages/react/src/__tests__/ReactStrictMode-test.js +++ b/packages/react/src/__tests__/ReactStrictMode-test.js @@ -116,15 +116,29 @@ describe('ReactStrictMode', () => { container, ); - expect(log).toEqual([ - 'constructor', - 'constructor', - 'getDerivedStateFromProps', - 'getDerivedStateFromProps', - 'render', - 'render', - 'componentDidMount', - ]); + if (gate(flags => flags.useModernStrictMode)) { + expect(log).toEqual([ + 'constructor', + 'constructor', + 'getDerivedStateFromProps', + 'getDerivedStateFromProps', + 'render', + 'render', + 'componentDidMount', + 'componentWillUnmount', + 'componentDidMount', + ]); + } else { + expect(log).toEqual([ + 'constructor', + 'constructor', + 'getDerivedStateFromProps', + 'getDerivedStateFromProps', + 'render', + 'render', + 'componentDidMount', + ]); + } log = []; shouldComponentUpdate = true; diff --git a/packages/shared/ReactFeatureFlags.js b/packages/shared/ReactFeatureFlags.js index 67862a4f14288..3d8a7cf563bc8 100644 --- a/packages/shared/ReactFeatureFlags.js +++ b/packages/shared/ReactFeatureFlags.js @@ -147,7 +147,7 @@ export const disableJavaScriptURLs = false; // Modern behaviour aligns more with what components // components will encounter in production, especially when used With . // TODO: clean up legacy once tests pass WWW. -export const useModernStrictMode = false; +export const useModernStrictMode = __NEXT_MAJOR__; // Not ready to break experimental yet. // Remove IE and MsApp specific workarounds for innerHTML