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

This commit is contained in:
Dominic Gannaway
2019-05-22 19:59:00 +01:00
committed by GitHub
parent b5dff62faf
commit a25a793fe9
+13 -9
View File
@@ -402,16 +402,20 @@ const eventResponderContext: ReactResponderContext = {
},
getEventCurrentTarget(event: ReactResponderEvent): Element {
validateResponderContext();
const target: any = event.target;
let currentTarget = target;
while (
currentTarget.parentNode &&
currentTarget.parentNode.nodeType === Node.ELEMENT_NODE &&
isTargetWithinEventComponent(currentTarget.parentNode)
) {
currentTarget = currentTarget.parentNode;
const target = event.target;
let fiber = getClosestInstanceFromNode(target);
let hostComponent = target;
while (fiber !== null) {
if (fiber.stateNode === currentInstance) {
break;
}
if (fiber.tag === HostComponent) {
hostComponent = fiber.stateNode;
}
fiber = fiber.return;
}
return currentTarget;
return ((hostComponent: any): Element);
},
getTimeStamp(): number {
validateResponderContext();