From d3cac150e39346570b7d411edb50b3f9ab00495f Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Tue, 20 Nov 2018 12:50:33 +0000 Subject: [PATCH] Fix support for mixing react-dom/server@16.6 and react@<16.6 --- packages/react-dom/src/server/ReactPartialRendererContext.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/react-dom/src/server/ReactPartialRendererContext.js b/packages/react-dom/src/server/ReactPartialRendererContext.js index 6a0e1fad16f38..b10e392e37d0c 100644 --- a/packages/react-dom/src/server/ReactPartialRendererContext.js +++ b/packages/react-dom/src/server/ReactPartialRendererContext.js @@ -56,10 +56,12 @@ export function validateContextBounds( context: ReactContext, threadID: ThreadID, ) { + // If `react` package is < 16.6, _threadCount is undefined. + let initialThreadCount = context._threadCount || 0; // If we don't have enough slots in this context to store this threadID, // fill it in without leaving any holes to ensure that the VM optimizes // this as non-holey index properties. - for (let i = context._threadCount; i <= threadID; i++) { + for (let i = initialThreadCount; i <= threadID; i++) { // We assume that this is the same as the defaultValue which might not be // true if we're rendering inside a secondary renderer but they are // secondary because these use cases are very rare.