From 1e01251454c13dfcaeaba67bdfdb6b807ba96e5c Mon Sep 17 00:00:00 2001 From: Matthew Phillips Date: Fri, 9 Jul 2021 09:00:32 -0400 Subject: Use correct React rendering API or hydration (#636) * Use correct React rendering API or hydration * Add changeset --- packages/renderers/renderer-react/server.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'packages/renderers/renderer-react/server.js') diff --git a/packages/renderers/renderer-react/server.js b/packages/renderers/renderer-react/server.js index d4d9f0cf8..e4f1cf690 100644 --- a/packages/renderers/renderer-react/server.js +++ b/packages/renderers/renderer-react/server.js @@ -1,5 +1,5 @@ import { Component as BaseComponent, createElement as h } from 'react'; -import { renderToStaticMarkup as renderToString } from 'react-dom/server.js'; +import { renderToStaticMarkup as reactRenderToStaticMarkup, renderToString } from 'react-dom/server.js'; import StaticHtml from './static-html.js'; const reactTypeof = Symbol.for('react.element'); @@ -26,7 +26,7 @@ function check(Component, props, children) { return h('div'); } - renderToStaticMarkup(Tester, props, children); + renderToStaticMarkup(Tester, props, children, {}); if (error) { throw error; @@ -34,8 +34,14 @@ function check(Component, props, children) { return isReactComponent; } -function renderToStaticMarkup(Component, props, children) { - const html = renderToString(h(Component, { ...props, children: h(StaticHtml, { value: children }), innerHTML: children })); +function renderToStaticMarkup(Component, props, children, metadata) { + const vnode = h(Component, { ...props, children: h(StaticHtml, { value: children }), innerHTML: children }); + let html; + if(metadata.hydrate) { + html = renderToString(vnode); + } else { + html = reactRenderToStaticMarkup(vnode); + } return { html }; } -- cgit v1.2.3