dillon1000/react
Commit
Browse files allow nested `act()`s from different renderers (#16039)
* allow nested `act()`s from different renderers There are usecases where multiple renderers need to oprate inside an act() scope - ReactDOM.render being used inside another component tree. The parent component will be rendered using ReactTestRenderer.create for a snapshot test or something. - a ReactDOM instance interacting with a ReactTestRenderer instance (like for the new devtools) This PR changes the way the acting sigils operate to allow for this. It keeps 2 booleans, one attached to React, one attached to the renderer. act() changes these values, and the workloop reads them to decide what warning to trigger. I also renamed shouldWarnUnactedUpdates to warnsIfNotActing * s/ReactIsActing/IsSomeRendererActing and s/ReactRendererIsActing/IsThisRendererActing
Changed paths18 files
First-parent comparisonfixtures/dom/src/index.test.js ModifiedM packages/react-art/src/ReactARTHostConfig.js ModifiedM packages/react-dom/src/client/ReactDOM.js ModifiedM packages/react-dom/src/client/ReactDOMHostConfig.js ModifiedM packages/react-dom/src/fire/ReactFire.js ModifiedM packages/react-dom/src/test-utils/ReactTestUtils.js ModifiedM packages/react-dom/src/test-utils/ReactTestUtilsAct.js ModifiedM packages/react-native-renderer/src/ReactFabricHostConfig.js ModifiedM packages/react-native-renderer/src/ReactNativeHostConfig.js ModifiedM packages/react-noop-renderer/src/createReactNoop.js ModifiedM packages/react-reconciler/src/ReactFiberReconciler.js ModifiedM packages/react-reconciler/src/ReactFiberWorkLoop.js ModifiedM packages/react-reconciler/src/forks/ReactFiberHostConfig.custom.js ModifiedM packages/react-test-renderer/src/ReactTestHostConfig.js ModifiedM packages/react-test-renderer/src/ReactTestRendererAct.js ModifiedA packages/react/src/IsSomeRendererActing.js AddedD packages/react/src/ReactCurrentActingRendererSigil.js DeletedM packages/react/src/ReactSharedInternals.js ModifiedPatch
Files changed
Rendering syntax-highlighted changes…