diff --git a/packages/react-dom/src/__tests__/ReactDOMServerSelectiveHydration-test.internal.js b/packages/react-dom/src/__tests__/ReactDOMServerSelectiveHydration-test.internal.js index 275c3e8fdefd7..6b51c9a189088 100644 --- a/packages/react-dom/src/__tests__/ReactDOMServerSelectiveHydration-test.internal.js +++ b/packages/react-dom/src/__tests__/ReactDOMServerSelectiveHydration-test.internal.js @@ -1607,13 +1607,7 @@ describe('ReactDOMServerSelectiveHydration', () => { ); } - let finalHTML; - expect(() => { - finalHTML = ReactDOMServer.renderToString(); - }).toErrorDev([ - 'useLayoutEffect does nothing on the server', - 'useLayoutEffect does nothing on the server', - ]); + const finalHTML = ReactDOMServer.renderToString(); assertLog(['App', 'A', 'B']); diff --git a/packages/react-server/src/ReactFizzHooks.js b/packages/react-server/src/ReactFizzHooks.js index bf236793bcee1..be4b32e8f797b 100644 --- a/packages/react-server/src/ReactFizzHooks.js +++ b/packages/react-server/src/ReactFizzHooks.js @@ -440,23 +440,6 @@ function useRef(initialValue: T): {current: T} { } } -export function useLayoutEffect( - create: () => (() => void) | void, - inputs: Array | void | null, -) { - if (__DEV__) { - currentHookNameInDev = 'useLayoutEffect'; - console.error( - 'useLayoutEffect does nothing on the server, because its effect cannot ' + - "be encoded into the server renderer's output format. This will lead " + - 'to a mismatch between the initial, non-hydrated UI and the intended ' + - 'UI. To avoid this, useLayoutEffect should only be used in ' + - 'components that render exclusively on the client. ' + - 'See https://reactjs.org/link/uselayouteffect-ssr for common fixes.', - ); - } -} - function dispatchAction( componentIdentity: Object, queue: UpdateQueue, @@ -633,7 +616,7 @@ export const HooksDispatcher: Dispatcher = { useRef, useState, useInsertionEffect: noop, - useLayoutEffect, + useLayoutEffect: noop, useCallback, // useImperativeHandle is not run in the server environment useImperativeHandle: noop,