From e8404c7945cb019b690acb6eec9776599c4860db Mon Sep 17 00:00:00 2001 From: Brian Vaughn Date: Wed, 6 Feb 2019 15:38:00 +0000 Subject: [PATCH 1/2] Add current owner ref fallback for newer renderers with older react versions --- packages/shared/ReactSharedInternals.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/packages/shared/ReactSharedInternals.js b/packages/shared/ReactSharedInternals.js index d8aea57f6bb3a..5d2279362be24 100644 --- a/packages/shared/ReactSharedInternals.js +++ b/packages/shared/ReactSharedInternals.js @@ -10,4 +10,19 @@ import React from 'react'; const ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; +// Add fallback for newer renderers running with older react package versions. +// Current owner and dispatcher used to share the same ref, +// but PR #14548 split them out to better support the react-debug-tools package. +if (!ReactSharedInternals.hasOwnProperty('ReactCurrentDispatcher')) { + const {ReactCurrentOwner} = ReactSharedInternals; + ReactSharedInternals.ReactCurrentDispatcher = { + get current() { + return ReactCurrentOwner.currentDispatcher; + }, + set current(value) { + ReactCurrentOwner.currentDispatcher = value; + }, + }; +} + export default ReactSharedInternals; From 6e638c9667e2e19fa310ff2927255c449c6a88ce Mon Sep 17 00:00:00 2001 From: Brian Vaughn Date: Wed, 6 Feb 2019 16:51:05 +0000 Subject: [PATCH 2/2] Replaced current owner forward with current:null --- packages/shared/ReactSharedInternals.js | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/packages/shared/ReactSharedInternals.js b/packages/shared/ReactSharedInternals.js index 5d2279362be24..eaf526199046e 100644 --- a/packages/shared/ReactSharedInternals.js +++ b/packages/shared/ReactSharedInternals.js @@ -10,18 +10,12 @@ import React from 'react'; const ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; -// Add fallback for newer renderers running with older react package versions. +// Prevent newer renderers from RTE when used with older react package versions. // Current owner and dispatcher used to share the same ref, // but PR #14548 split them out to better support the react-debug-tools package. if (!ReactSharedInternals.hasOwnProperty('ReactCurrentDispatcher')) { - const {ReactCurrentOwner} = ReactSharedInternals; ReactSharedInternals.ReactCurrentDispatcher = { - get current() { - return ReactCurrentOwner.currentDispatcher; - }, - set current(value) { - ReactCurrentOwner.currentDispatcher = value; - }, + current: null, }; }