mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-02-07 22:42:13 +08:00
Cleanup mNativeChildren on react node cleanup.
Differential Revision: D2663443 fb-gh-sync-id: 7e6e7212103b738f6b6f535e54cc8b86e5def685
This commit is contained in:
committed by
facebook-github-bot-8
parent
0b46a0c13b
commit
337dc7e093
@@ -399,17 +399,17 @@ public class UIManagerModule extends ReactContextBaseJavaModule implements
|
||||
}
|
||||
|
||||
for (int i = 0; i < tagsToDelete.length; i++) {
|
||||
removeCSSNode(tagsToDelete[i]);
|
||||
removeShadowNode(mShadowNodeRegistry.getNode(tagsToDelete[i]));
|
||||
}
|
||||
}
|
||||
|
||||
private void removeCSSNode(int tag) {
|
||||
ReactShadowNode node = mShadowNodeRegistry.getNode(tag);
|
||||
mShadowNodeRegistry.removeNode(tag);
|
||||
for (int i = node.getChildCount() - 1; i >= 0; i--) {
|
||||
removeCSSNode(node.getChildAt(i).getReactTag());
|
||||
private void removeShadowNode(ReactShadowNode nodeToRemove) {
|
||||
mNativeViewHierarchyOptimizer.handleRemoveNode(nodeToRemove);
|
||||
mShadowNodeRegistry.removeNode(nodeToRemove.getReactTag());
|
||||
for (int i = nodeToRemove.getChildCount() - 1; i >= 0; i--) {
|
||||
removeShadowNode(nodeToRemove.getChildAt(i));
|
||||
}
|
||||
node.removeAllChildren();
|
||||
nodeToRemove.removeAllChildren();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user