diff --git a/packages/svelte/src/internal/client/dom/blocks/each.js b/packages/svelte/src/internal/client/dom/blocks/each.js index bc0f035378..548b6c1517 100644 --- a/packages/svelte/src/internal/client/dom/blocks/each.js +++ b/packages/svelte/src/internal/client/dom/blocks/each.js @@ -162,13 +162,11 @@ function each(anchor, get_collection, flags, get_key, render_fn, fallback_fn, re } else { fallback = render_effect( () => { - fallback_fn(anchor); - var dom = block.d; // TODO would be nice if this was just returned from the managed effect function... + var dom = fallback_fn(anchor); return () => { - if (dom !== null) { + if (dom !== undefined) { remove(dom); - dom = null; } }; }, diff --git a/packages/svelte/src/internal/client/dom/blocks/key.js b/packages/svelte/src/internal/client/dom/blocks/key.js index a914fb172c..3dbfda451d 100644 --- a/packages/svelte/src/internal/client/dom/blocks/key.js +++ b/packages/svelte/src/internal/client/dom/blocks/key.js @@ -9,7 +9,7 @@ import { create_block } from './utils.js'; * @template V * @param {Comment} anchor * @param {() => V} get_key - * @param {(anchor: Node) => void} render_fn + * @param {(anchor: Node) => import('#client').Dom | void} render_fn * @returns {void} */ export function key_block(anchor, get_key, render_fn) { @@ -42,12 +42,10 @@ export function key_block(anchor, get_key, render_fn) { effect = render_effect( () => { - render_fn(anchor); - - const dom = block.d; + const dom = render_fn(anchor); return () => { - if (dom !== null) { + if (dom !== undefined) { remove(dom); } }; diff --git a/packages/svelte/src/internal/client/dom/blocks/svelte-component.js b/packages/svelte/src/internal/client/dom/blocks/svelte-component.js index 3204e4eb0d..c8f4ff6790 100644 --- a/packages/svelte/src/internal/client/dom/blocks/svelte-component.js +++ b/packages/svelte/src/internal/client/dom/blocks/svelte-component.js @@ -10,7 +10,7 @@ import { create_block } from './utils.js'; * @template {(props: P) => void} C * @param {Comment} anchor * @param {() => C} get_component - * @param {(component: C) => void} render_fn + * @param {(component: C) => import('#client').Dom | void} render_fn * @returns {void} */ export function component(anchor, get_component, render_fn) {