diff --git a/packages/react-dom/src/client/ReactDOMHostConfig.js b/packages/react-dom/src/client/ReactDOMHostConfig.js index f7edf1abb56..56719d96bb1 100644 --- a/packages/react-dom/src/client/ReactDOMHostConfig.js +++ b/packages/react-dom/src/client/ReactDOMHostConfig.js @@ -284,8 +284,13 @@ export function createTextInstance( } export const isPrimaryRenderer = true; -export const scheduleTimeout = setTimeout; -export const cancelTimeout = clearTimeout; +// This initialization code may run even on server environments +// if a component just imports ReactDOM (e.g. for findDOMNode). +// Some environments might not have setTimeout or clearTimeout. +export const scheduleTimeout = + typeof setTimeout === 'function' ? setTimeout : (undefined: any); +export const cancelTimeout = + typeof clearTimeout === 'function' ? clearTimeout : (undefined: any); export const noTimeout = -1; // -------------------