renderToStringImpl() — react Function Reference
Architecture documentation for the renderToStringImpl() function in ReactDOMLegacyServerImpl.js from the react codebase.
Entity Profile
Dependency Diagram
graph TD a2131476_ce28_ca3e_82c7_78cceff93edb["renderToStringImpl()"] 02c4299e_b30e_07d4_d500_7acc5ea7cd1c["ReactDOMLegacyServerImpl.js"] a2131476_ce28_ca3e_82c7_78cceff93edb -->|defined in| 02c4299e_b30e_07d4_d500_7acc5ea7cd1c style a2131476_ce28_ca3e_82c7_78cceff93edb fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/react-dom/src/server/ReactDOMLegacyServerImpl.js lines 35–101
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;
}
Domain
Subdomains
Source
Frequently Asked Questions
What does renderToStringImpl() do?
renderToStringImpl() is a function in the react codebase, defined in packages/react-dom/src/server/ReactDOMLegacyServerImpl.js.
Where is renderToStringImpl() defined?
renderToStringImpl() is defined in packages/react-dom/src/server/ReactDOMLegacyServerImpl.js at line 35.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free