@@ -81,19 +81,10 @@ const updateComponent = async (hostRef: d.HostRef, instance: any, isInitialLoad:
81
81
hostRef . $flags$ |= HOST_FLAGS . devOnRender ;
82
82
}
83
83
84
- if ( BUILD . hasRenderFn || BUILD . reflect ) {
85
- if ( BUILD . vdomRender || BUILD . reflect ) {
86
- // looks like we've got child nodes to render into this host element
87
- // or we need to update the css class/attrs on the host element
88
- // DOM WRITE!
89
- if ( BUILD . hydrateServerSide ) {
90
- renderVdom ( hostRef , await callRender ( hostRef , instance ) ) ;
91
- } else {
92
- renderVdom ( hostRef , callRender ( hostRef , instance ) ) ;
93
- }
94
- } else {
95
- elm . textContent = callRender ( hostRef , instance ) ;
96
- }
84
+ if ( BUILD . hydrateServerSide ) {
85
+ await callRender ( hostRef , instance , elm ) ;
86
+ } else {
87
+ callRender ( hostRef , instance , elm ) ;
97
88
}
98
89
if ( BUILD . cssVarShim && plt . $cssShim$ ) {
99
90
plt . $cssShim$ . updateHost ( elm ) ;
@@ -149,7 +140,7 @@ const updateComponent = async (hostRef: d.HostRef, instance: any, isInitialLoad:
149
140
150
141
let renderingRef : any = null ;
151
142
152
- const callRender = ( hostRef : d . HostRef , instance : any ) => {
143
+ const callRender = ( hostRef : d . HostRef , instance : any , elm : HTMLElement ) => {
153
144
// in order for bundlers to correctly treeshake the BUILD object
154
145
// we need to ensure BUILD is not deoptimized within a try/catch
155
146
// https://rollupjs.org/guide/en/#treeshake tryCatchDeoptimization
@@ -169,11 +160,25 @@ const callRender = (hostRef: d.HostRef, instance: any) => {
169
160
if ( updatable || lazyLoad ) {
170
161
hostRef . $flags$ |= HOST_FLAGS . hasRendered ;
171
162
}
163
+ if ( BUILD . hasRenderFn || BUILD . reflect ) {
164
+ if ( BUILD . vdomRender || BUILD . reflect ) {
165
+ // looks like we've got child nodes to render into this host element
166
+ // or we need to update the css class/attrs on the host element
167
+ // DOM WRITE!
168
+ if ( BUILD . hydrateServerSide ) {
169
+ return Promise . resolve ( instance ) . then ( value => renderVdom ( hostRef , value ) )
170
+ } else {
171
+ renderVdom ( hostRef , instance ) ;
172
+ }
173
+ } else {
174
+ elm . textContent = instance ;
175
+ }
176
+ }
172
177
} catch ( e ) {
173
178
consoleError ( e , hostRef . $hostElement$ ) ;
174
179
}
175
180
renderingRef = null ;
176
- return instance ;
181
+ return null ;
177
182
} ;
178
183
179
184
export const getRenderingRef = ( ) => renderingRef ;
0 commit comments