summaryrefslogtreecommitdiff
path: root/packages/renderers/renderer-solid
diff options
context:
space:
mode:
authorGravatar Nate Moore <natemoo-re@users.noreply.github.com> 2021-12-02 10:30:15 -0600
committerGravatar GitHub <noreply@github.com> 2021-12-02 10:30:15 -0600
commitac3e870280e983a7977da79b6eec0568d38d8420 (patch)
tree2c7c95af762f4dceef8abd5f5c17cdc6dce80367 /packages/renderers/renderer-solid
parent62a5e98c9008a1ac88c3c38db64b74723f8fd422 (diff)
downloadastro-ac3e870280e983a7977da79b6eec0568d38d8420.tar.gz
astro-ac3e870280e983a7977da79b6eec0568d38d8420.tar.zst
astro-ac3e870280e983a7977da79b6eec0568d38d8420.zip
fix: renderer behavior with no children (#2078)
* fix: renderer behavior with no children * [ci] Prettier fix * Force CI * fix: properly handle falsy values * [ci] Prettier fix * chore: force ci * [experiment] netlify ignore Co-authored-by: GitHub Action <github-action@users.noreply.github.com>
Diffstat (limited to 'packages/renderers/renderer-solid')
-rw-r--r--packages/renderers/renderer-solid/client.js7
-rw-r--r--packages/renderers/renderer-solid/server.js2
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>` };