diff --git a/.changeset/cuddly-owls-smile.md b/.changeset/cuddly-owls-smile.md new file mode 100644 index 0000000000..cdd71449ae --- /dev/null +++ b/.changeset/cuddly-owls-smile.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +fix: unmount not deferred components immediately 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 be6611c96d..77b1834334 100644 --- a/packages/svelte/src/internal/client/dom/blocks/svelte-component.js +++ b/packages/svelte/src/internal/client/dom/blocks/svelte-component.js @@ -51,7 +51,8 @@ export function component(node, get_component, render_fn) { var defer = should_defer_append(); - if (effect) { + // For sync context: immediately pause the old effect + if (!defer && effect) { pause_effect(effect); effect = null; }