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

[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 }