aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-04-06 06:15:21 -0700
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-04-06 06:15:21 -0700
commit87401392ba48492c3bf28feed1121f6faeddeb58 (patch)
tree16716ad3307ec733ded92a7dc85dc67d5138f208
parent795c172d9ea75895c749c492cc98fce2f636e05d (diff)
downloadbun-87401392ba48492c3bf28feed1121f6faeddeb58.tar.gz
bun-87401392ba48492c3bf28feed1121f6faeddeb58.tar.zst
bun-87401392ba48492c3bf28feed1121f6faeddeb58.zip
Update client.development.tsx
-rw-r--r--packages/bun-framework-next/client.development.tsx15
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);