@@ -81,19 +81,10 @@ const updateComponent = async (hostRef: d.HostRef, instance: any, isInitialLoad:
8181 hostRef . $flags$ |= HOST_FLAGS . devOnRender ;
8282 }
8383
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 ) ;
9788 }
9889 if ( BUILD . cssVarShim && plt . $cssShim$ ) {
9990 plt . $cssShim$ . updateHost ( elm ) ;
@@ -149,7 +140,7 @@ const updateComponent = async (hostRef: d.HostRef, instance: any, isInitialLoad:
149140
150141let renderingRef : any = null ;
151142
152- const callRender = ( hostRef : d . HostRef , instance : any ) => {
143+ const callRender = ( hostRef : d . HostRef , instance : any , elm : HTMLElement ) => {
153144 // in order for bundlers to correctly treeshake the BUILD object
154145 // we need to ensure BUILD is not deoptimized within a try/catch
155146 // https://rollupjs.org/guide/en/#treeshake tryCatchDeoptimization
@@ -169,11 +160,25 @@ const callRender = (hostRef: d.HostRef, instance: any) => {
169160 if ( updatable || lazyLoad ) {
170161 hostRef . $flags$ |= HOST_FLAGS . hasRendered ;
171162 }
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+ }
172177 } catch ( e ) {
173178 consoleError ( e , hostRef . $hostElement$ ) ;
174179 }
175180 renderingRef = null ;
176- return instance ;
181+ return null ;
177182} ;
178183
179184export const getRenderingRef = ( ) => renderingRef ;
0 commit comments