@@ -56,6 +56,8 @@ let ErrorDebugComponent
56
56
let Component
57
57
let stripAnsi = ( s ) => s
58
58
59
+ export const emitter = new EventEmitter ( )
60
+
59
61
export default async ( { ErrorDebugComponent : passedDebugComponent , stripAnsi : passedStripAnsi } = { } ) => {
60
62
// Wait for all the dynamic chunks to get loaded
61
63
for ( const chunkName of chunks ) {
@@ -80,8 +82,6 @@ export default async ({ ErrorDebugComponent: passedDebugComponent, stripAnsi: pa
80
82
err
81
83
} )
82
84
83
- const emitter = new EventEmitter ( )
84
-
85
85
router . subscribe ( ( { Component, props, hash, err } ) => {
86
86
render ( { Component, props, err, hash, emitter } )
87
87
} )
@@ -132,7 +132,7 @@ export async function renderError (error) {
132
132
}
133
133
}
134
134
135
- async function doRender ( { Component, props, hash, err, emitter } ) {
135
+ async function doRender ( { Component, props, hash, err, emitter : emitterProp = emitter } ) {
136
136
if ( ! props && Component &&
137
137
Component !== ErrorComponent &&
138
138
lastAppProps . Component === ErrorComponent ) {
@@ -141,24 +141,20 @@ async function doRender ({ Component, props, hash, err, emitter }) {
141
141
props = await loadGetInitialProps ( Component , { err, pathname, query, asPath } )
142
142
}
143
143
144
- if ( emitter ) {
145
- emitter .
10000
emit ( 'before-reactdom-render' , { Component, ErrorComponent } )
146
- }
147
-
148
144
Component = Component || lastAppProps . Component
149
145
props = props || lastAppProps . props
150
146
151
147
const appProps = { Component, props, hash, err, router, headManager }
152
148
// lastAppProps has to be set before ReactDom.render to account for ReactDom throwing an error.
153
149
lastAppProps = appProps
154
150
151
+ emitterProp . emit ( 'before-reactdom-render' , { Component, ErrorComponent, appProps } )
152
+
155
153
// We need to clear any existing runtime error messages
156
154
ReactDOM . unmountComponentAtNode ( errorContainer )
157
155
renderReactElement ( createElement ( App , appProps ) , appContainer )
158
156
159
- if ( emitter ) {
160
- emitter . emit ( 'after-reactdom-render' , { Component, ErrorComponent } )
161
- }
157
+ emitterProp . emit ( 'after-reactdom-render' , { Component, ErrorComponent, appProps } )
162
158
}
163
159
164
160
let isInitialRender = true
0 commit comments