chore: only skip effects when deferring (#17169)

* chore: only skip effects when deferring

* more
pull/17168/head
Rich Harris 2 days ago committed by GitHub
parent 686720070b
commit e0501ede03
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -244,7 +244,9 @@ export function each(node, flags, get_collection, get_key, render_fn, fallback_f
item.i = i;
}
batch.skipped_effects.delete(item.e);
if (defer) {
batch.skipped_effects.delete(item.e);
}
} else {
item = create_item(
first_run ? anchor : null,
@ -298,14 +300,14 @@ export function each(node, flags, get_collection, get_key, render_fn, fallback_f
set_hydrate_node(skip_nodes());
}
for (const [key, item] of state.items) {
if (!keys.has(key)) {
batch.skipped_effects.add(item.e);
}
}
if (!first_run) {
if (defer) {
for (const [key, item] of state.items) {
if (!keys.has(key)) {
batch.skipped_effects.add(item.e);
}
}
batch.oncommit(commit);
batch.ondiscard(() => {
// TODO presumably we need to do something here?

Loading…
Cancel
Save