[Flare] Guard against stateNode being null (#15952)
Dominic Gannaway committed
Jun 21, 2019 at 19:14 UTC
a5ed2f98f97c137322138d48e90d3510e6d83b5a
1 file changed
+9
-7
packages/react-dom/src/events/DOMEventResponderSystem.js
+9
-7
@@ -217,11 +217,12 @@ const eventResponderContext: ReactDOMResponderContext = {
217
.currentFiber;
218
219
while (fiber !== null) {
220
- if (fiber.tag === EventComponent) {
220
+ const stateNode = fiber.stateNode;
221
+ if (fiber.tag === EventComponent && stateNode !== null) {
222
// Switch to the current fiber tree
222
- fiber = fiber.stateNode.currentFiber;
223
+ fiber = stateNode.currentFiber;
224
}
224
- if (fiber === currentFiber || fiber.stateNode === currentInstance) {
225
+ if (fiber === currentFiber || stateNode === currentInstance) {
226
return true;
227
}
228
fiber = fiber.return;
@@ -239,16 +240,17 @@ const eventResponderContext: ReactDOMResponderContext = {
240
const currentFiber = ((currentInstance: any): ReactDOMEventComponentInstance)
241
.currentFiber;
242
while (fiber !== null) {
242
- if (fiber.tag === EventComponent) {
243
+ const stateNode = fiber.stateNode;
244
+ if (fiber.tag === EventComponent && stateNode !== null) {
245
// Switch to the current fiber tree
244
- fiber = fiber.stateNode.currentFiber;
246
+ fiber = stateNode.currentFiber;
247
}
246
- if (fiber === currentFiber || fiber.stateNode === currentInstance) {
248
+ if (fiber === currentFiber || stateNode === currentInstance) {
249
return true;
250
}
251
if (
252
fiber.tag === EventComponent &&
251
- (fiber.stateNode === null || fiber.stateNode.responder === responder)
253
+ (stateNode === null || stateNode.responder === responder)
254
) {
255
return false;
256
}