dillon1000/react

Commit

Add back useMutableSource temporarily (#22396)

Recoil uses useMutableSource behind a flag. I thought this was fine
because Recoil isn't used in any concurrent roots, so the behavior
would be the same, but it turns out that it is used by concurrent
roots in a few places.

I'm not expecting it to be hard to migrate to useSyncExternalStore, but
to de-risk the change I'm going to roll it out gradually with a flag. In
the meantime, I've added back the useMutableSource API.
Browse files
Changed paths37 files
First-parent comparison
M packages/react-debug-tools/src/ReactDebugHooks.js ModifiedM packages/react-debug-tools/src/__tests__/ReactHooksInspectionIntegration-test.js ModifiedM packages/react-dom/src/client/ReactDOMRoot.js ModifiedM packages/react-dom/src/server/ReactPartialRendererHooks.js ModifiedM packages/react-reconciler/src/ReactFiberBeginWork.new.js ModifiedM packages/react-reconciler/src/ReactFiberBeginWork.old.js ModifiedM packages/react-reconciler/src/ReactFiberCompleteWork.new.js ModifiedM packages/react-reconciler/src/ReactFiberCompleteWork.old.js ModifiedM packages/react-reconciler/src/ReactFiberHooks.new.js ModifiedM packages/react-reconciler/src/ReactFiberHooks.old.js ModifiedM packages/react-reconciler/src/ReactFiberLane.new.js ModifiedM packages/react-reconciler/src/ReactFiberLane.old.js ModifiedM packages/react-reconciler/src/ReactFiberReconciler.js ModifiedM packages/react-reconciler/src/ReactFiberReconciler.new.js ModifiedM packages/react-reconciler/src/ReactFiberReconciler.old.js ModifiedM packages/react-reconciler/src/ReactFiberRoot.new.js ModifiedM packages/react-reconciler/src/ReactFiberRoot.old.js ModifiedM packages/react-reconciler/src/ReactFiberUnwindWork.new.js ModifiedM packages/react-reconciler/src/ReactFiberUnwindWork.old.js ModifiedM packages/react-reconciler/src/ReactInternalTypes.js ModifiedA packages/react-reconciler/src/ReactMutableSource.new.js AddedA packages/react-reconciler/src/ReactMutableSource.old.js AddedA packages/react-reconciler/src/__tests__/useMutableSource-test.internal.js AddedA packages/react-reconciler/src/__tests__/useMutableSourceHydration-test.js AddedM packages/react-server/src/ReactFizzHooks.js ModifiedM packages/react-server/src/ReactFlightServer.js ModifiedM packages/react-suspense-test-utils/src/ReactSuspenseTestUtils.js ModifiedM packages/react/index.classic.fb.js ModifiedM packages/react/index.experimental.js ModifiedM packages/react/index.js ModifiedM packages/react/index.modern.fb.js ModifiedM packages/react/index.stable.js ModifiedM packages/react/src/React.js ModifiedM packages/react/src/ReactHooks.js ModifiedA packages/react/src/ReactMutableSource.js AddedM packages/react/unstable-shared-subset.experimental.js ModifiedM packages/shared/ReactTypes.js Modified
Patch

Files changed

Rendering syntax-highlighted changes…