From c4f90dcd17224f33eadd2fb7a5b2bf3dc83efbca Mon Sep 17 00:00:00 2001 From: f0x Date: Wed, 8 Jan 2025 21:27:23 +0100 Subject: [PATCH] use suspense boundary vnode as parent for re-render --- src/index.js | 4 ++-- src/lib/chunked.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/index.js b/src/index.js index a617432c..4c7fe19c 100644 --- a/src/index.js +++ b/src/index.js @@ -480,13 +480,13 @@ function _renderToString( return str; } catch (error) { if (!asyncMode && renderer && renderer.onError) { - let res = renderer.onError(error, vnode, (child) => + let res = renderer.onError(error, vnode, (child, parent) => _renderToString( child, context, isSvgMode, selectValue, - vnode, + parent, asyncMode, renderer ) diff --git a/src/lib/chunked.js b/src/lib/chunked.js index 38e6a269..cd1686d1 100644 --- a/src/lib/chunked.js +++ b/src/lib/chunked.js @@ -75,7 +75,7 @@ function handleError(error, vnode, renderChild) { const promise = error.then( () => { if (abortSignal && abortSignal.aborted) return; - const child = renderChild(vnode.props.children); + const child = renderChild(vnode.props.children, vnode); if (child) this.onWrite(createSubtree(id, child)); }, // TODO: Abort and send hydration code snippet to client