@@ -68,39 +68,45 @@ const errorHeader = (component, componentStack) => {
6868 return null ;
6969} ;
7070
71- const mapError = ( { error, errorInfo, component } ) => (
72- < React . Fragment >
73- < p style = { { color : 'red' } } >
74- { errorHeader ( component , errorInfo && errorInfo . componentStack ) } { ' ' }
75- { error . toString ? error . toString ( ) : ( error && error . message ) || 'undefined error' }
76- </ p >
77- { errorInfo && errorInfo . componentStack ? (
78- < div >
79- < div > Stack trace:</ div >
80- < ul style = { { color : 'red' , marginTop : '10px' } } >
81- { error . stack
82- . split ( '\n' )
83- . slice ( 1 , 2 )
84- . map ( ( line , i ) => < li key = { String ( i ) } > { line } </ li > ) }
85- < hr />
86- { errorInfo . componentStack
87- . split ( '\n' )
88- . filter ( Boolean )
89- . map ( ( line , i ) => < li key = { String ( i ) } > { line } </ li > ) }
90- </ ul >
91- </ div >
92- ) : (
93- error . stack && (
71+ const mapError = ( { error, errorInfo, component } ) => {
72+ if ( ! error ) {
73+ error = { message : 'undefined error' } ;
74+ }
75+
76+ return (
77+ < React . Fragment >
78+ < p style = { { color : 'red' } } >
79+ { errorHeader ( component , errorInfo && errorInfo . componentStack ) } { ' ' }
80+ { error . toString ? error . toString ( ) : ( error && error . message ) || 'undefined error' }
81+ </ p >
82+ { errorInfo && errorInfo . componentStack ? (
9483 < div >
9584 < div > Stack trace:</ div >
9685 < ul style = { { color : 'red' , marginTop : '10px' } } >
97- { error . stack . split ( '\n' ) . map ( ( line , i ) => < li key = { String ( i ) } > { line } </ li > ) }
86+ { error . stack
87+ . split ( '\n' )
88+ . slice ( 1 , 2 )
89+ . map ( ( line , i ) => < li key = { String ( i ) } > { line } </ li > ) }
90+ < hr />
91+ { errorInfo . componentStack
92+ . split ( '\n' )
93+ . filter ( Boolean )
94+ . map ( ( line , i ) => < li key = { String ( i ) } > { line } </ li > ) }
9895 </ ul >
9996 </ div >
100- )
101- ) }
102- </ React . Fragment >
103- ) ;
97+ ) : (
98+ error . stack && (
99+ < div >
100+ < div > Stack trace:</ div >
101+ < ul style = { { color : 'red' , marginTop : '10px' } } >
102+ { error . stack . split ( '\n' ) . map ( ( line , i ) => < li key = { String ( i ) } > { line } </ li > ) }
103+ </ ul >
104+ </ div >
105+ )
106+ ) }
107+ </ React . Fragment >
108+ ) ;
109+ } ;
104110
105111class ErrorOverlay extends React . Component {
106112 state = {
0 commit comments