From 51cab22a92db9c102be22d260661952ec728db59 Mon Sep 17 00:00:00 2001 From: Josh Story Date: Fri, 30 Jun 2023 10:45:24 -0700 Subject: [PATCH] Some exports are missing from the react-dom server-rendering-stub --- packages/react-dom/server-rendering-stub.js | 1 + .../__tests__/react-dom-server-rendering-stub-test.js | 1 - .../src/server/ReactDOMServerRenderingStub.js | 10 ++++++++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/react-dom/server-rendering-stub.js b/packages/react-dom/server-rendering-stub.js index 33d404cd7605f..cda0c95579ed9 100644 --- a/packages/react-dom/server-rendering-stub.js +++ b/packages/react-dom/server-rendering-stub.js @@ -23,4 +23,5 @@ export { preload, preinit, experimental_useFormStatus, + unstable_batchedUpdates, } from './src/server/ReactDOMServerRenderingStub'; diff --git a/packages/react-dom/src/__tests__/react-dom-server-rendering-stub-test.js b/packages/react-dom/src/__tests__/react-dom-server-rendering-stub-test.js index 2943ddb6054f4..4a805d7edb1bc 100644 --- a/packages/react-dom/src/__tests__/react-dom-server-rendering-stub-test.js +++ b/packages/react-dom/src/__tests__/react-dom-server-rendering-stub-test.js @@ -33,7 +33,6 @@ describe('react-dom-server-rendering-stub', () => { expect(ReactDOM.hydrate).toBe(undefined); expect(ReactDOM.render).toBe(undefined); expect(ReactDOM.unmountComponentAtNode).toBe(undefined); - expect(ReactDOM.unstable_batchedUpdates).toBe(undefined); expect(ReactDOM.unstable_createEventHandle).toBe(undefined); expect(ReactDOM.unstable_renderSubtreeIntoContainer).toBe(undefined); expect(ReactDOM.unstable_runWithPriority).toBe(undefined); diff --git a/packages/react-dom/src/server/ReactDOMServerRenderingStub.js b/packages/react-dom/src/server/ReactDOMServerRenderingStub.js index ea079ce1bdd55..dec67c41058f2 100644 --- a/packages/react-dom/src/server/ReactDOMServerRenderingStub.js +++ b/packages/react-dom/src/server/ReactDOMServerRenderingStub.js @@ -31,3 +31,13 @@ export function flushSync() { ' to not call flushSync no the server.', ); } + +// on the server we just call the callback because there is +// not update mechanism. Really this should not be called on the +// server but since the semantics are generally clear enough we +// can provide this trivial implementation. +function batchedUpdates(fn: A => R, a: A): R { + return fn(a); +} + +export {batchedUpdates as unstable_batchedUpdates};