From 92737d33f420720ca782c3aac6c5110db3186ae2 Mon Sep 17 00:00:00 2001 From: Vladimir Guguiev Date: Thu, 20 Feb 2020 12:02:45 +0100 Subject: [PATCH] [fix] Prevent injectEventPluginsByName throwing when re-evaluating code Close #1539 --- .../src/exports/createElement/index.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/react-native-web/src/exports/createElement/index.js b/packages/react-native-web/src/exports/createElement/index.js index 89c30ffc..d80c4d61 100644 --- a/packages/react-native-web/src/exports/createElement/index.js +++ b/packages/react-native-web/src/exports/createElement/index.js @@ -16,9 +16,15 @@ import React from 'react'; import ResponderEventPlugin from '../../modules/ResponderEventPlugin'; if (canUseDOM) { - injectEventPluginsByName({ - ResponderEventPlugin - }); + try { + injectEventPluginsByName({ + ResponderEventPlugin + }); + } catch (error) { + // Ignore errors caused by attempting to re-inject the plugin when app + // scripts are being re-evaluated (e.g., development hot reloading) while + // the ReactDOM instance is preserved. + } } const isModifiedEvent = event =>