diff options
author | 2022-02-28 19:03:28 -0300 | |
---|---|---|
committer | 2022-02-28 16:03:28 -0600 | |
commit | 8fb1f53e96f9fdb0df0ee075cf77e5154b045e5f (patch) | |
tree | 92e2f63ea876c27359297d38e1df6743d8e7648b | |
parent | 046af364750ffc29c68a93c024045228aa16a5ab (diff) | |
download | astro-8fb1f53e96f9fdb0df0ee075cf77e5154b045e5f.tar.gz astro-8fb1f53e96f9fdb0df0ee075cf77e5154b045e5f.tar.zst astro-8fb1f53e96f9fdb0df0ee075cf77e5154b045e5f.zip |
fix(runtime): do not render empty Fragment (#2667)
This commit fixes the bug when returning an empty Fragment which makes
it undefined. This is because unescapeHTML (raw) will create a String object
with an 'undefined' string.
To fix this we need to check if the `children` is null or undefined
before marking a string as raw.
-rw-r--r-- | packages/astro/src/runtime/server/index.ts | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/packages/astro/src/runtime/server/index.ts b/packages/astro/src/runtime/server/index.ts index f44f14926..52d19fd87 100644 --- a/packages/astro/src/runtime/server/index.ts +++ b/packages/astro/src/runtime/server/index.ts @@ -131,6 +131,9 @@ export async function renderComponent(result: SSRResult, displayName: string, Co const children = await renderSlot(result, slots?.default); if (Component === Fragment) { + if (children == null) { + return children; + } return unescapeHTML(children); } |