Skip to content

Commit ab55e38

Browse files
perf: remove unnecessary closure
1 parent 720c9b7 commit ab55e38

File tree

1 file changed

+20
-8
lines changed

1 file changed

+20
-8
lines changed

src/index.js

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -438,8 +438,9 @@ function _renderToString(
438438
rendered != null && rendered.type === Fragment && rendered.key == null;
439439
rendered = isTopLevelFragment ? rendered.props.children : rendered;
440440

441-
const renderChildren = () =>
442-
_renderToString(
441+
try {
442+
// Recurse into children before invoking the after-diff hook
443+
const str = _renderToString(
443444
rendered,
444445
context,
445446
isSvgMode,
@@ -448,10 +449,6 @@ function _renderToString(
448449
asyncMode
449450
);
450451

451-
try {
452-
// Recurse into children before invoking the after-diff hook
453-
const str = renderChildren();
454-
455452
if (afterDiff) afterDiff(vnode);
456453
vnode[PARENT] = null;
457454

@@ -465,12 +462,27 @@ function _renderToString(
465462

466463
const renderNestedChildren = () => {
467464
try {
468-
return renderChildren();
465+
return _renderToString(
466+
rendered,
467+
context,
468+
isSvgMode,
469+
selectValue,
470+
vnode,
471+
asyncMode
472+
);
469473
} catch (e) {
470474
if (!e || typeof e.then !== 'function') throw e;
471475

472476
return e.then(
473-
() => renderChildren(),
477+
() =>
478+
_renderToString(
479+
rendered,
480+
context,
481+
isSvgMode,
482+
selectValue,
483+
vnode,
484+
asyncMode
485+
),
474486
() => renderNestedChildren()
475487
);
476488
}

0 commit comments

Comments
 (0)