File tree Expand file tree Collapse file tree 2 files changed +25
-8
lines changed Expand file tree Collapse file tree 2 files changed +25
-8
lines changed Original file line number Diff line number Diff line change 1+ ---
2+ ' preact-render-to-string ' : patch
3+ ---
4+
5+ Perf: Remove unnecessary closure when rendering child nodes
Original file line number Diff line number Diff line change @@ -441,8 +441,9 @@ function _renderToString(
441441 rendered . props . tpl == null ;
442442 rendered = isTopLevelFragment ? rendered . props . children : rendered ;
443443
444- const renderChildren = ( ) =>
445- _renderToString (
444+ try {
445+ // Recurse into children before invoking the after-diff hook
446+ const str = _renderToString (
446447 rendered ,
447448 context ,
448449 isSvgMode ,
@@ -451,10 +452,6 @@ function _renderToString(
451452 asyncMode
452453 ) ;
453454
454- try {
455- // Recurse into children before invoking the after-diff hook
456- const str = renderChildren ( ) ;
457-
458455 if ( afterDiff ) afterDiff ( vnode ) ;
459456 vnode [ PARENT ] = null ;
460457
@@ -468,12 +465,27 @@ function _renderToString(
468465
469466 const renderNestedChildren = ( ) => {
470467 try {
471- return renderChildren ( ) ;
468+ return _renderToString (
469+ rendered ,
470+ context ,
471+ isSvgMode ,
472+ selectValue ,
473+ vnode ,
474+ asyncMode
475+ ) ;
472476 } catch ( e ) {
473477 if ( ! e || typeof e . then !== 'function' ) throw e ;
474478
475479 return e . then (
476- ( ) => renderChildren ( ) ,
480+ ( ) =>
481+ _renderToString (
482+ rendered ,
483+ context ,
484+ isSvgMode ,
485+ selectValue ,
486+ vnode ,
487+ asyncMode
488+ ) ,
477489 ( ) => renderNestedChildren ( )
478490 ) ;
479491 }
You can’t perform that action at this time.
0 commit comments