diff options
author | 2022-04-06 06:15:21 -0700 | |
---|---|---|
committer | 2022-04-06 06:15:21 -0700 | |
commit | 87401392ba48492c3bf28feed1121f6faeddeb58 (patch) | |
tree | 16716ad3307ec733ded92a7dc85dc67d5138f208 | |
parent | 795c172d9ea75895c749c492cc98fce2f636e05d (diff) | |
download | bun-87401392ba48492c3bf28feed1121f6faeddeb58.tar.gz bun-87401392ba48492c3bf28feed1121f6faeddeb58.tar.zst bun-87401392ba48492c3bf28feed1121f6faeddeb58.zip |
Update client.development.tsx
-rw-r--r-- | packages/bun-framework-next/client.development.tsx | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/packages/bun-framework-next/client.development.tsx b/packages/bun-framework-next/client.development.tsx index e65cbbcdc..1c51a97e8 100644 --- a/packages/bun-framework-next/client.development.tsx +++ b/packages/bun-framework-next/client.development.tsx @@ -365,9 +365,18 @@ export async function _boot(EntryPointNamespace, isError) { ); if (USE_REACT_18) { - if (!isError && !reactRoot) { - // Unlike with createRoot, you don't need a separate root.render() call here - reactRoot = ReactDOM.hydrateRoot(domEl, reactEl); + if (!isError && domEl.hasChildNodes() && !reactRoot) { + try { + // Unlike with createRoot, you don't need a separate root.render() call here + reactRoot = ReactDOM.hydrateRoot(domEl, reactEl); + } catch (exception) { + try { + reactRoot = ReactDOM.createRoot(domEl); + reactRoot.render(reactEl); + } catch { + throw exception; + } + } } else { if (!reactRoot) { reactRoot = ReactDOM.createRoot(domEl); |