We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
假设1: DOM 节点跨层级的移动操作很少,忽略不计。 假设2: 拥有相同类的两个组件将会生成相似的树形结构,拥有不同类的两个组件将会生成不同的树形结构。 假设3: 对于同一个层级的一组子节点,可以通过它们唯一的ID来区分。
只对树进行分层比较,两棵树只会对同一层次的节点进行比较。
React只会对相同层级的DOM节点进行比较,即同一个父节点下的所有子节点,当发现该节点已经不存在了,就会删除该节点和其所有子节点,不会再做进一步的比较。
而如果真的出现了跨层级的移动,并不会出现移动操作,而是被移动的跟节点被删除而后重新创建。
当节点属于同一层级时,diff 提供了 3 种节点操作,分别为 INSERT_MARKUP(插入),MOVE_EXISTING(移动),REMOVE_NODE(删除)。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
假设1: DOM 节点跨层级的移动操作很少,忽略不计。
假设2: 拥有相同类的两个组件将会生成相似的树形结构,拥有不同类的两个组件将会生成不同的树形结构。
假设3: 对于同一个层级的一组子节点,可以通过它们唯一的ID来区分。
tree diff
只对树进行分层比较,两棵树只会对同一层次的节点进行比较。
React只会对相同层级的DOM节点进行比较,即同一个父节点下的所有子节点,当发现该节点已经不存在了,就会删除该节点和其所有子节点,不会再做进一步的比较。
而如果真的出现了跨层级的移动,并不会出现移动操作,而是被移动的跟节点被删除而后重新创建。
component diff
element diff
当节点属于同一层级时,diff 提供了 3 种节点操作,分别为 INSERT_MARKUP(插入),MOVE_EXISTING(移动),REMOVE_NODE(删除)。
The text was updated successfully, but these errors were encountered: