ReactDOMLegacyServerImpl.js — react Source File
Architecture documentation for ReactDOMLegacyServerImpl.js, a javascript file in the react codebase. 4 imports, 2 dependents.
Entity Profile
Dependency Diagram
graph LR 02c4299e_b30e_07d4_d500_7acc5ea7cd1c["ReactDOMLegacyServerImpl.js"] 0b5d77d6_fa00_515b_1198_0f2d2642dc21["ReactVersion"] 02c4299e_b30e_07d4_d500_7acc5ea7cd1c --> 0b5d77d6_fa00_515b_1198_0f2d2642dc21 d8f20c67_f5fa_0f0a_c967_c41fd9ffce07["ReactTypes"] 02c4299e_b30e_07d4_d500_7acc5ea7cd1c --> d8f20c67_f5fa_0f0a_c967_c41fd9ffce07 ca40cfc0_4531_f3fa_7600_53b0400a208c["ReactFizzServer"] 02c4299e_b30e_07d4_d500_7acc5ea7cd1c --> ca40cfc0_4531_f3fa_7600_53b0400a208c ba90bd45_7974_31d5_8e09_581606125efd["ReactFizzConfigDOMLegacy"] 02c4299e_b30e_07d4_d500_7acc5ea7cd1c --> ba90bd45_7974_31d5_8e09_581606125efd f5aafa09_0e63_9796_965e_6285dfb6de98["ReactDOMLegacyServerBrowser.js"] f5aafa09_0e63_9796_965e_6285dfb6de98 --> 02c4299e_b30e_07d4_d500_7acc5ea7cd1c cf283598_cf8c_61b8_d12c_557b4049fd9c["ReactDOMLegacyServerNode.js"] cf283598_cf8c_61b8_d12c_557b4049fd9c --> 02c4299e_b30e_07d4_d500_7acc5ea7cd1c style 02c4299e_b30e_07d4_d500_7acc5ea7cd1c fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @flow
*/
import ReactVersion from 'shared/ReactVersion';
import type {ReactNodeList} from 'shared/ReactTypes';
import {
createRequest,
startWork,
startFlowing,
abort,
} from 'react-server/src/ReactFizzServer';
import {
createResumableState,
createRenderState,
createRootFormatContext,
} from 'react-dom-bindings/src/server/ReactFizzConfigDOMLegacy';
type ServerOptions = {
identifierPrefix?: string,
};
function onError() {
// Non-fatal errors are ignored.
}
function renderToStringImpl(
children: ReactNodeList,
options: void | ServerOptions,
generateStaticMarkup: boolean,
abortReason: string,
): string {
let didFatal = false;
let fatalError = null;
let result = '';
const destination = {
// $FlowFixMe[missing-local-annot]
push(chunk) {
if (chunk !== null) {
result += chunk;
}
return true;
},
// $FlowFixMe[missing-local-annot]
destroy(error) {
didFatal = true;
fatalError = error;
},
};
let readyToStream = false;
function onShellReady() {
readyToStream = true;
}
const resumableState = createResumableState(
options ? options.identifierPrefix : undefined,
undefined,
);
const request = createRequest(
children,
resumableState,
createRenderState(resumableState, generateStaticMarkup),
createRootFormatContext(),
Infinity,
onError,
undefined,
onShellReady,
undefined,
undefined,
undefined,
);
startWork(request);
// If anything suspended and is still pending, we'll abort it before writing.
// That way we write only client-rendered boundaries from the start.
abort(request, abortReason);
startFlowing(request, destination);
if (didFatal && fatalError !== abortReason) {
throw fatalError;
}
if (!readyToStream) {
// Note: This error message is the one we use on the client. It doesn't
// really make sense here. But this is the legacy server renderer, anyway.
// We're going to delete it soon.
throw new Error(
'A component suspended while responding to synchronous input. This ' +
'will cause the UI to be replaced with a loading indicator. To fix, ' +
'updates that suspend should be wrapped with startTransition.',
);
}
return result;
}
export {renderToStringImpl, ReactVersion as version};
Domain
Subdomains
Functions
Dependencies
- ReactFizzConfigDOMLegacy
- ReactFizzServer
- ReactTypes
- ReactVersion
Imported By
Source
Frequently Asked Questions
What does ReactDOMLegacyServerImpl.js do?
ReactDOMLegacyServerImpl.js is a source file in the react codebase, written in javascript. It belongs to the BabelCompiler domain, Validation subdomain.
What functions are defined in ReactDOMLegacyServerImpl.js?
ReactDOMLegacyServerImpl.js defines 2 function(s): onError, renderToStringImpl.
What does ReactDOMLegacyServerImpl.js depend on?
ReactDOMLegacyServerImpl.js imports 4 module(s): ReactFizzConfigDOMLegacy, ReactFizzServer, ReactTypes, ReactVersion.
What files import ReactDOMLegacyServerImpl.js?
ReactDOMLegacyServerImpl.js is imported by 2 file(s): ReactDOMLegacyServerBrowser.js, ReactDOMLegacyServerNode.js.
Where is ReactDOMLegacyServerImpl.js in the architecture?
ReactDOMLegacyServerImpl.js is located at packages/react-dom/src/server/ReactDOMLegacyServerImpl.js (domain: BabelCompiler, subdomain: Validation, directory: packages/react-dom/src/server).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free