summaryrefslogtreecommitdiff
path: root/packages/integrations/solid/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations/solid/src')
-rw-r--r--packages/integrations/solid/src/client.ts6
1 files changed, 4 insertions, 2 deletions
diff --git a/packages/integrations/solid/src/client.ts b/packages/integrations/solid/src/client.ts
index 730db0f51..66b3767ea 100644
--- a/packages/integrations/solid/src/client.ts
+++ b/packages/integrations/solid/src/client.ts
@@ -9,7 +9,7 @@ export default (element: HTMLElement) =>
}
if (!element.hasAttribute('ssr')) return;
- const fn = client === 'only' ? render : hydrate;
+ const boostrap = client === 'only' ? render : hydrate;
let _slots: Record<string, any> = {};
if (Object.keys(slotted).length > 0) {
@@ -30,7 +30,7 @@ export default (element: HTMLElement) =>
const { default: children, ...slots } = _slots;
const renderId = element.dataset.solidRenderId;
- fn(
+ const dispose = boostrap(
() =>
createComponent(Component, {
...props,
@@ -42,4 +42,6 @@ export default (element: HTMLElement) =>
renderId,
}
);
+
+ element.addEventListener('astro:unmount', () => dispose(), { once: true })
};