Skip to content

Commit e0501ed

Browse files
authored
chore: only skip effects when deferring (#17169)
* chore: only skip effects when deferring * more
1 parent 6867200 commit e0501ed

File tree

1 file changed

+9
-7
lines changed
  • packages/svelte/src/internal/client/dom/blocks

1 file changed

+9
-7
lines changed

packages/svelte/src/internal/client/dom/blocks/each.js

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,9 @@ export function each(node, flags, get_collection, get_key, render_fn, fallback_f
244244
item.i = i;
245245
}
246246

247-
batch.skipped_effects.delete(item.e);
247+
if (defer) {
248+
batch.skipped_effects.delete(item.e);
249+
}
248250
} else {
249251
item = create_item(
250252
first_run ? anchor : null,
@@ -298,14 +300,14 @@ export function each(node, flags, get_collection, get_key, render_fn, fallback_f
298300
set_hydrate_node(skip_nodes());
299301
}
300302

301-
for (const [key, item] of state.items) {
302-
if (!keys.has(key)) {
303-
batch.skipped_effects.add(item.e);
304-
}
305-
}
306-
307303
if (!first_run) {
308304
if (defer) {
305+
for (const [key, item] of state.items) {
306+
if (!keys.has(key)) {
307+
batch.skipped_effects.add(item.e);
308+
}
309+
}
310+
309311
batch.oncommit(commit);
310312
batch.ondiscard(() => {
311313
// TODO presumably we need to do something here?

0 commit comments

Comments
 (0)