diff options
Diffstat (limited to 'packages/renderers/renderer-solid')
-rw-r--r-- | packages/renderers/renderer-solid/client.js | 7 | ||||
-rw-r--r-- | packages/renderers/renderer-solid/server.js | 2 |
2 files changed, 6 insertions, 3 deletions
diff --git a/packages/renderers/renderer-solid/client.js b/packages/renderers/renderer-solid/client.js index f4cdb4ead..9aa0ecbb8 100644 --- a/packages/renderers/renderer-solid/client.js +++ b/packages/renderers/renderer-solid/client.js @@ -1,8 +1,11 @@ import { hydrate, createComponent } from 'solid-js/web'; export default (element) => (Component, props, childHTML) => { - const children = document.createElement('astro-fragment'); - children.innerHTML = childHTML; + let children; + if (childHTML != null) { + children = document.createElement('astro-fragment'); + children.innerHTML = childHTML; + } // Using Solid's `hydrate` method ensures that a `root` is created // in order to properly handle reactivity. It also handles diff --git a/packages/renderers/renderer-solid/server.js b/packages/renderers/renderer-solid/server.js index 101f3480a..238d7531a 100644 --- a/packages/renderers/renderer-solid/server.js +++ b/packages/renderers/renderer-solid/server.js @@ -16,7 +16,7 @@ function renderToStaticMarkup(Component, props, children) { ...props, // In Solid SSR mode, `ssr` creates the expected structure for `children`. // In Solid client mode, `ssr` is just a stub. - children: ssr(`<astro-fragment>${children}</astro-fragment>`), + children: children != null ? ssr(`<astro-fragment>${children}</astro-fragment>`) : children, }) ); return { html: html + `<script>window._$HYDRATION||(window._$HYDRATION={events:[],completed:new WeakSet})</script>` }; |