@@ -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