summaryrefslogtreecommitdiff
path: root/packages/integrations/react
diff options
context:
space:
mode:
authorGravatar Gabriele Angrisani <6270387+Angrigo@users.noreply.github.com> 2024-04-30 14:01:21 +0200
committerGravatar GitHub <noreply@github.com> 2024-04-30 08:01:21 -0400
commitfd7a9ed3379a123f02f297b69fa5da0053e84a89 (patch)
tree8937a30a99a66cec1ae760fcc743703c088a8f30 /packages/integrations/react
parent36bb3b6025eb51f6e027a76a514cc7ebb29deb10 (diff)
downloadastro-fd7a9ed3379a123f02f297b69fa5da0053e84a89.tar.gz
astro-fd7a9ed3379a123f02f297b69fa5da0053e84a89.tar.zst
astro-fd7a9ed3379a123f02f297b69fa5da0053e84a89.zip
fix a deprecated method in react integration using SSR: renderToStaticNodeStream (#10893)
* deprecated method renderToStaticNodeStream * Create twelve-bulldogs-raise.md --------- Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
Diffstat (limited to 'packages/integrations/react')
-rw-r--r--packages/integrations/react/server.js36
1 files changed, 3 insertions, 33 deletions
diff --git a/packages/integrations/react/server.js b/packages/integrations/react/server.js
index b2e94fbf0..2ff3f55fb 100644
--- a/packages/integrations/react/server.js
+++ b/packages/integrations/react/server.js
@@ -106,18 +106,10 @@ async function renderToStaticMarkup(Component, props, { default: children, ...sl
identifierPrefix: prefix,
};
let html;
- if (metadata?.hydrate) {
- if ('renderToReadableStream' in ReactDOM) {
- html = await renderToReadableStreamAsync(vnode, renderOptions);
- } else {
- html = await renderToPipeableStreamAsync(vnode, renderOptions);
- }
+ if ('renderToReadableStream' in ReactDOM) {
+ html = await renderToReadableStreamAsync(vnode, renderOptions);
} else {
- if ('renderToReadableStream' in ReactDOM) {
- html = await renderToReadableStreamAsync(vnode, renderOptions);
- } else {
- html = await renderToStaticNodeStreamAsync(vnode, renderOptions);
- }
+ html = await renderToPipeableStreamAsync(vnode, renderOptions);
}
return { html, attrs };
}
@@ -150,28 +142,6 @@ async function renderToPipeableStreamAsync(vnode, options) {
});
}
-async function renderToStaticNodeStreamAsync(vnode, options) {
- const Writable = await getNodeWritable();
- let html = '';
- return new Promise((resolve, reject) => {
- let stream = ReactDOM.renderToStaticNodeStream(vnode, options);
- stream.on('error', (err) => {
- reject(err);
- });
- stream.pipe(
- new Writable({
- write(chunk, _encoding, callback) {
- html += chunk.toString('utf-8');
- callback();
- },
- destroy() {
- resolve(html);
- },
- })
- );
- });
-}
-
/**
* Use a while loop instead of "for await" due to cloudflare and Vercel Edge issues
* See https://github.com/facebook/react/issues/24169