From 26d56b2ea9e039b2f49564f2e9e3a861b34537e8 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Wed, 9 Jul 2025 22:28:48 -0400 Subject: [PATCH] simplify --- .../svelte/src/internal/client/reactivity/effects.js | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/packages/svelte/src/internal/client/reactivity/effects.js b/packages/svelte/src/internal/client/reactivity/effects.js index 83015be391..51c6805529 100644 --- a/packages/svelte/src/internal/client/reactivity/effects.js +++ b/packages/svelte/src/internal/client/reactivity/effects.js @@ -185,15 +185,12 @@ export function user_effect(fn) { }); } - // Non-nested `$effect(...)` in a component should be deferred - // until the component is mounted - var defer = - active_effect !== null && (active_effect.f & BRANCH_EFFECT) !== 0 && active_reaction === null; - - if (defer) { + if (!active_reaction && active_effect && (active_effect.f & BRANCH_EFFECT) !== 0) { + // Top-level `$effect(...)` in a component — defer until mount var context = /** @type {ComponentContext} */ (component_context); (context.e ??= []).push(fn); } else { + // Everything else — create immediately return create_user_effect(fn); } }