diff --git a/packages/svelte/src/internal/client/reactivity/batch.js b/packages/svelte/src/internal/client/reactivity/batch.js index 77622baf88..13b8cf4709 100644 --- a/packages/svelte/src/internal/client/reactivity/batch.js +++ b/packages/svelte/src/internal/client/reactivity/batch.js @@ -38,6 +38,12 @@ export class Batch { /** @type {Effect[]} */ async_effects = []; + /** @type {Effect[]} */ + render_effects = []; + + /** @type {Effect[]} */ + effects = []; + /** @type {Effect[]} */ combined_effects = []; @@ -72,6 +78,9 @@ export class Batch { } } + this.render_effects = []; + this.effects = []; + return () => { for (const [source, value] of current_values) { source.v = value; diff --git a/packages/svelte/src/internal/client/runtime.js b/packages/svelte/src/internal/client/runtime.js index 9f6695e920..e5e02e0585 100644 --- a/packages/svelte/src/internal/client/runtime.js +++ b/packages/svelte/src/internal/client/runtime.js @@ -698,10 +698,10 @@ function flush_queued_root_effects() { var revert = batch.apply(); /** @type {Effect[]} */ - var render_effects = []; + var render_effects = batch.render_effects; /** @type {Effect[]} */ - var effects = []; + var effects = batch.effects; var root_effects = queued_root_effects;