File tree Expand file tree Collapse file tree 1 file changed +9
-7
lines changed
packages/react-server/src Expand file tree Collapse file tree 1 file changed +9
-7
lines changed Original file line number Diff line number Diff line change @@ -33,6 +33,7 @@ import type {ComponentStackNode} from './ReactFizzComponentStack';
33
33
import type { TreeContext } from './ReactFizzTreeContext' ;
34
34
import type { ThenableState } from './ReactFizzThenable' ;
35
35
import { enableRenderableContext } from 'shared/ReactFeatureFlags' ;
36
+ import { describeObjectForErrorMessage } from 'shared/ReactSerializationErrors' ;
36
37
37
38
import {
38
39
scheduleWork ,
@@ -816,18 +817,19 @@ function encodeErrorForBoundary(
816
817
) {
817
818
boundary . errorDigest = digest ;
818
819
if ( __DEV__ ) {
820
+ let message ;
819
821
// In dev we additionally encode the error message and component stack on the boundary
820
- let errorMessage ;
821
- if ( typeof error === ' string' ) {
822
- errorMessage = error ;
823
- } else if ( error && typeof error . message === 'string' ) {
824
- errorMessage = error . message ;
822
+ if ( error instanceof Error ) {
823
+ // eslint-disable-next-line react-internal/safe- string-coercion
824
+ message = String ( error . message ) ;
825
+ } else if ( typeof error === 'object' && error !== null ) {
826
+ message = 'Error: ' + describeObjectForErrorMessage ( error ) ;
825
827
} else {
826
828
// eslint-disable-next-line react-internal/safe-string-coercion
827
- errorMessage = String ( error ) ;
829
+ message = 'Error: ' + String ( error ) ;
828
830
}
829
831
830
- boundary . errorMessage = errorMessage ;
832
+ boundary . errorMessage = message ;
831
833
boundary . errorComponentStack = thrownInfo . componentStack ;
832
834
}
833
835
}
You can’t perform that action at this time.
0 commit comments