From ef231d1b44e68d28d304e743a13c667e450f511f Mon Sep 17 00:00:00 2001 From: Sebastian Markbage Date: Tue, 10 Sep 2024 17:15:29 -0400 Subject: [PATCH] Unwrap lazy before reading the value This is important if the lazy is at the root of the chunk. --- packages/react-client/src/ReactFlightClient.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/react-client/src/ReactFlightClient.js b/packages/react-client/src/ReactFlightClient.js index 03d96d1457f66..609c7c84f239d 100644 --- a/packages/react-client/src/ReactFlightClient.js +++ b/packages/react-client/src/ReactFlightClient.js @@ -1057,8 +1057,7 @@ function getOutlinedModel( case INITIALIZED: let value = chunk.value; for (let i = 1; i < path.length; i++) { - value = value[path[i]]; - if (value.$$typeof === REACT_LAZY_TYPE) { + while (value.$$typeof === REACT_LAZY_TYPE) { const referencedChunk: SomeChunk = value._payload; if (referencedChunk.status === INITIALIZED) { value = referencedChunk.value; @@ -1069,10 +1068,11 @@ function getOutlinedModel( key, response, map, - path.slice(i), + path.slice(i - 1), ); } } + value = value[path[i]]; } const chunkValue = map(response, value); if (__DEV__ && chunk._debugInfo) {