@samitouri / QOS-React-2 / commits / f352fe2625

Maintain rootID for lazily crawled trees

Dan committed Jun 12, 2019 at 16:38 UTC f352fe2625bc91e65f563def0b351dd5d915c11c
1 file changed +8 -3
src/backend/legacy/renderer.js
+8 -3
@@ -370,16 +370,21 @@ export function attach(
370 idToInternalInstanceMap.delete(id);
371 }
372
373 - function crawlAndRecordInitialMounts(id: number, parentID: number) {
373 + function crawlAndRecordInitialMounts(
374 + id: number,
375 + parentID: number,
376 + rootID: number
377 + ) {
378 const internalInstance = idToInternalInstanceMap.get(id);
379
380 if (__DEBUG__) {
381 console.group('crawlAndRecordInitialMounts() id:', id);
382 }
383
384 + internalInstanceToRootIDMap.set(internalInstance, rootID);
385 recordMount(internalInstance, id, parentID);
386 getChildren(internalInstance).forEach(child =>
382 - crawlAndRecordInitialMounts(getID(child), id)
387 + crawlAndRecordInitialMounts(getID(child), id, rootID)
388 );
389
390 if (__DEBUG__) {
@@ -397,7 +402,7 @@ export function attach(
402 for (let key in roots) {
403 const internalInstance = roots[key];
404 const id = getID(internalInstance);
400 - crawlAndRecordInitialMounts(id, 0);
405 + crawlAndRecordInitialMounts(id, 0, id);
406 flushPendingEvents(id);
407 }
408 }