Skip to content

Commit

Permalink
Golf down children (#4485)
Browse files Browse the repository at this point in the history
  • Loading branch information
JoviDeCroock authored Aug 30, 2024
1 parent 1a6bd4d commit 4e7e29b
Showing 1 changed file with 4 additions and 15 deletions.
19 changes: 4 additions & 15 deletions src/diff/children.js
Original file line number Diff line number Diff line change
Expand Up @@ -62,13 +62,7 @@ export function diffChildren(

for (i = 0; i < newChildrenLength; i++) {
childVNode = newParentVNode._children[i];
if (
childVNode == null ||
typeof childVNode == 'boolean' ||
typeof childVNode == 'function'
) {
continue;
}
if (childVNode == null) continue;

// At this point, constructNewChildrenArray has assigned _index to be the
// matchingIndex for this VNode's oldVNode (or -1 if there is no oldVNode).
Expand Down Expand Up @@ -185,6 +179,7 @@ function constructNewChildrenArray(newParentVNode, renderResult, oldChildren) {
typeof childVNode == 'function'
) {
childVNode = newParentVNode._children[i] = null;
continue;
}
// If this newVNode is being reused (e.g. <div>{reuse}{reuse}</div>) in the same diff,
// or we are rendering a component (e.g. setState) copy the oldVNodes so it can have
Expand Down Expand Up @@ -227,11 +222,6 @@ function constructNewChildrenArray(newParentVNode, renderResult, oldChildren) {
childVNode = newParentVNode._children[i] = childVNode;
}

// Handle unmounting null placeholders, i.e. VNode => null in unkeyed children
if (childVNode == null) {
continue;
}

const skewedIndex = i + skew;
childVNode._parent = newParentVNode;
childVNode._depth = newParentVNode._depth + 1;
Expand Down Expand Up @@ -299,9 +289,8 @@ function constructNewChildrenArray(newParentVNode, renderResult, oldChildren) {

// Move this VNode's DOM if the original index (matchingIndex) doesn't
// match the new skew index (i + new skew)
if (matchingIndex !== i + skew) {
childVNode._flags |= INSERT_VNODE;
}
// In the former two branches we know that it matches after skewing
childVNode._flags |= INSERT_VNODE;
}
}
}
Expand Down

0 comments on commit 4e7e29b

Please sign in to comment.