mirror of
https://github.com/facebook/react.git
synced 2026-02-22 03:42:05 +00:00
[Flight] Add context for non null prototype error (#30293)
We already added this for other thrown errors, not just console.errors. There's a production form of this. We just missed adding this context. Mainly the best context is the line number though which comes from owner stacks.
This commit is contained in:
committed by
GitHub
parent
491a4eacce
commit
c3cdbec0a7
@@ -692,7 +692,8 @@ export function processReply(
|
||||
if (temporaryReferences === undefined) {
|
||||
throw new Error(
|
||||
'Only plain objects, and a few built-ins, can be passed to Server Actions. ' +
|
||||
'Classes or null prototypes are not supported.',
|
||||
'Classes or null prototypes are not supported.' +
|
||||
(__DEV__ ? describeObjectForErrorMessage(parent, key) : ''),
|
||||
);
|
||||
}
|
||||
// We will have written this object to the temporary reference set above
|
||||
|
||||
@@ -1482,7 +1482,10 @@ describe('ReactFlight', () => {
|
||||
|
||||
expect(errors).toEqual([
|
||||
'Only plain objects, and a few built-ins, can be passed to Client Components ' +
|
||||
'from Server Components. Classes or null prototypes are not supported.',
|
||||
'from Server Components. Classes or null prototypes are not supported.' +
|
||||
(__DEV__
|
||||
? '\n' + ' <input value={{}}>\n' + ' ^^^^'
|
||||
: '\n' + ' {value: {}}\n' + ' ^^'),
|
||||
]);
|
||||
});
|
||||
|
||||
|
||||
@@ -2615,7 +2615,8 @@ function renderModelDestructive(
|
||||
) {
|
||||
throw new Error(
|
||||
'Only plain objects, and a few built-ins, can be passed to Client Components ' +
|
||||
'from Server Components. Classes or null prototypes are not supported.',
|
||||
'from Server Components. Classes or null prototypes are not supported.' +
|
||||
describeObjectForErrorMessage(parent, parentPropertyName),
|
||||
);
|
||||
}
|
||||
if (__DEV__) {
|
||||
|
||||
@@ -483,8 +483,8 @@
|
||||
"495": "Cannot taint a %s because the value is too general and not unique enough to block globally.",
|
||||
"496": "Only objects or functions can be passed to taintObjectReference. Try taintUniqueValue instead.",
|
||||
"497": "Only objects or functions can be passed to taintObjectReference.",
|
||||
"498": "Only plain objects, and a few built-ins, can be passed to Client Components from Server Components. Classes or null prototypes are not supported.",
|
||||
"499": "Only plain objects, and a few built-ins, can be passed to Server Actions. Classes or null prototypes are not supported.",
|
||||
"498": "Only plain objects, and a few built-ins, can be passed to Client Components from Server Components. Classes or null prototypes are not supported.%s",
|
||||
"499": "Only plain objects, and a few built-ins, can be passed to Server Actions. Classes or null prototypes are not supported.%s",
|
||||
"500": "React expected a headers state to exist when emitEarlyPreloads was called but did not find it. This suggests emitEarlyPreloads was called more than once per request. This is a bug in React.",
|
||||
"501": "The render was aborted with postpone when the shell is incomplete. Reason: %s",
|
||||
"502": "Cannot read a Client Context from a Server Component.",
|
||||
|
||||
Reference in New Issue
Block a user