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

[Flare] update getEventCurrentTarget to use fiber tree (#15708)

Dominic Gannaway committed May 22, 2019 at 19:59 UTC a25a793fe9d38436be7a3e87ce36ebd5d9d84921
1 file changed +13 -9
packages/react-dom/src/events/DOMEventResponderSystem.js
+13 -9
@@ -402,16 +402,20 @@ const eventResponderContext: ReactResponderContext = {
402 },
403 getEventCurrentTarget(event: ReactResponderEvent): Element {
404 validateResponderContext();
405 - const target: any = event.target;
406 - let currentTarget = target;
407 - while (
408 - currentTarget.parentNode &&
409 - currentTarget.parentNode.nodeType === Node.ELEMENT_NODE &&
410 - isTargetWithinEventComponent(currentTarget.parentNode)
411 - ) {
412 - currentTarget = currentTarget.parentNode;
405 + const target = event.target;
406 + let fiber = getClosestInstanceFromNode(target);
407 + let hostComponent = target;
408 +
409 + while (fiber !== null) {
410 + if (fiber.stateNode === currentInstance) {
411 + break;
412 + }
413 + if (fiber.tag === HostComponent) {
414 + hostComponent = fiber.stateNode;
415 + }
416 + fiber = fiber.return;
417 }
414 - return currentTarget;
418 + return ((hostComponent: any): Element);
419 },
420 getTimeStamp(): number {
421 validateResponderContext();