Skip to content

Commit 7216c0f

Browse files
authored
[Flight] Don't assume _debugStack and _owner is defined for prod elements (#33675)
We generally treat these types of fields as optional on ReactDebugInfo and should on ReactElement too. That way we can consume prod payloads from third parties.
1 parent 6a3d16c commit 7216c0f

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

packages/react-client/src/ReactFlightClient.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -928,8 +928,8 @@ function createElement(
928928
type: mixed,
929929
key: mixed,
930930
props: mixed,
931-
owner: null | ReactComponentInfo, // DEV-only
932-
stack: null | ReactStackTrace, // DEV-only
931+
owner: ?ReactComponentInfo, // DEV-only
932+
stack: ?ReactStackTrace, // DEV-only
933933
validated: number, // DEV-only
934934
):
935935
| React$Element<any>
@@ -942,7 +942,7 @@ function createElement(
942942
type,
943943
key,
944944
props,
945-
_owner: owner,
945+
_owner: owner === undefined ? null : owner,
946946
}: any);
947947
Object.defineProperty(element, 'ref', {
948948
enumerable: false,
@@ -984,7 +984,7 @@ function createElement(
984984
configurable: false,
985985
enumerable: false,
986986
writable: true,
987-
value: stack,
987+
value: stack === undefined ? null : stack,
988988
});
989989
Object.defineProperty(element, '_debugTask', {
990990
configurable: false,

0 commit comments

Comments
 (0)