Skip to content

Commit 2be3823

Browse files
authored
chore: remove inert check from each block reconciliation (#15143)
1 parent 674f81b commit 2be3823

File tree

1 file changed

+4
-15
lines changed
  • packages/svelte/src/internal/client/dom/blocks

1 file changed

+4
-15
lines changed

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

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -219,17 +219,7 @@ export function each(node, flags, get_collection, get_key, render_fn, fallback_f
219219
}
220220

221221
if (!hydrating) {
222-
var effect = /** @type {Effect} */ (active_reaction);
223-
reconcile(
224-
array,
225-
state,
226-
anchor,
227-
render_fn,
228-
flags,
229-
(effect.f & INERT) !== 0,
230-
get_key,
231-
get_collection
232-
);
222+
reconcile(array, state, anchor, render_fn, flags, get_key, get_collection);
233223
}
234224

235225
if (fallback_fn !== null) {
@@ -273,12 +263,11 @@ export function each(node, flags, get_collection, get_key, render_fn, fallback_f
273263
* @param {Element | Comment | Text} anchor
274264
* @param {(anchor: Node, item: MaybeSource<V>, index: number | Source<number>, collection: () => V[]) => void} render_fn
275265
* @param {number} flags
276-
* @param {boolean} is_inert
277266
* @param {(value: V, index: number) => any} get_key
278267
* @param {() => V[]} get_collection
279268
* @returns {void}
280269
*/
281-
function reconcile(array, state, anchor, render_fn, flags, is_inert, get_key, get_collection) {
270+
function reconcile(array, state, anchor, render_fn, flags, get_key, get_collection) {
282271
var is_animated = (flags & EACH_IS_ANIMATED) !== 0;
283272
var should_update = (flags & (EACH_ITEM_REACTIVE | EACH_INDEX_REACTIVE)) !== 0;
284273

@@ -420,7 +409,7 @@ function reconcile(array, state, anchor, render_fn, flags, is_inert, get_key, ge
420409
while (current !== null && current.k !== key) {
421410
// If the each block isn't inert and an item has an effect that is already inert,
422411
// skip over adding it to our seen Set as the item is already being handled
423-
if (is_inert || (current.e.f & INERT) === 0) {
412+
if ((current.e.f & INERT) === 0) {
424413
(seen ??= new Set()).add(current);
425414
}
426415
stashed.push(current);
@@ -444,7 +433,7 @@ function reconcile(array, state, anchor, render_fn, flags, is_inert, get_key, ge
444433

445434
while (current !== null) {
446435
// If the each block isn't inert, then inert effects are currently outroing and will be removed once the transition is finished
447-
if (is_inert || (current.e.f & INERT) === 0) {
436+
if ((current.e.f & INERT) === 0) {
448437
to_destroy.push(current);
449438
}
450439
current = current.next;

0 commit comments

Comments
 (0)