mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-03-26 07:04:05 +08:00
Added addChildren() function as a more-optimal replacement for manageChildren for common use cases.
Reviewed By: jspahrsummers Differential Revision: D2707930 fb-gh-sync-id: c44219bf9af943cad5b57f370656c1bcac732cd9
This commit is contained in:
committed by
facebook-github-bot-9
parent
ecdc3429cd
commit
9a47ca1cc9
@@ -104,11 +104,11 @@ ReactNativeBaseComponent.Mixin = {
|
||||
// no children - let's avoid calling out to the native bridge for a large
|
||||
// portion of the children.
|
||||
if (mountImages.length) {
|
||||
var indexes = cachedIndexArray(mountImages.length);
|
||||
|
||||
// TODO: Pool these per platform view class. Reusing the `mountImages`
|
||||
// array would likely be a jit deopt.
|
||||
var createdTags = [];
|
||||
for (var i = 0; i < mountImages.length; i++) {
|
||||
for (var i = 0, l = mountImages.length; i < l; i++) {
|
||||
var mountImage = mountImages[i];
|
||||
var childTag = mountImage.tag;
|
||||
var childID = mountImage.rootNodeID;
|
||||
@@ -122,8 +122,15 @@ ReactNativeBaseComponent.Mixin = {
|
||||
);
|
||||
createdTags[i] = mountImage.tag;
|
||||
}
|
||||
UIManager
|
||||
.manageChildren(containerTag, null, null, createdTags, indexes, null);
|
||||
|
||||
// Fast path for iOS
|
||||
if (UIManager.addChildren) {
|
||||
UIManager.addChildren(containerTag, createdTags);
|
||||
return;
|
||||
}
|
||||
|
||||
var indexes = cachedIndexArray(mountImages.length);
|
||||
UIManager.manageChildren(containerTag, null, null, createdTags, indexes, null);
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
Reference in New Issue
Block a user