summaryrefslogtreecommitdiff
path: root/packages/integrations/react/server.js
diff options
context:
space:
mode:
authorGravatar Ken Powers <ken@kenpowers.net> 2023-12-18 08:41:44 -0500
committerGravatar GitHub <noreply@github.com> 2023-12-18 13:41:44 +0000
commit7eb9fe8a717dd2b66b1d541e1aa4d3eb5d959ddf (patch)
treea93480cb009df76ca8e721e1ba0012846c4d6b80 /packages/integrations/react/server.js
parent1e984389bafd87b0a631ed4aba930447669234f8 (diff)
downloadastro-7eb9fe8a717dd2b66b1d541e1aa4d3eb5d959ddf.tar.gz
astro-7eb9fe8a717dd2b66b1d541e1aa4d3eb5d959ddf.tar.zst
astro-7eb9fe8a717dd2b66b1d541e1aa4d3eb5d959ddf.zip
Fix Preact Forwarded Ref components not working in astro files when React integration is enabled (#9403)
* Fix Preact Forwarded Ref components not working in astro files when React integration is enabled * Handle undefined $$typeof * Add changeset * Use Symbol.for * :zap: * Update .changeset/breezy-hairs-yell.md --------- Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
Diffstat (limited to 'packages/integrations/react/server.js')
-rw-r--r--packages/integrations/react/server.js3
1 files changed, 3 insertions, 0 deletions
diff --git a/packages/integrations/react/server.js b/packages/integrations/react/server.js
index 05ee66c6a..f1e5fdc24 100644
--- a/packages/integrations/react/server.js
+++ b/packages/integrations/react/server.js
@@ -23,6 +23,9 @@ async function check(Component, props, children) {
}
if (typeof Component !== 'function') return false;
+ // Preact forwarded-ref components can be functions, which React does not support
+ if (typeof Component === 'function' && Component['$$typeof'] === Symbol.for('react.forward_ref')) return false;
+
if (Component.prototype != null && typeof Component.prototype.render === 'function') {
return React.Component.isPrototypeOf(Component) || React.PureComponent.isPrototypeOf(Component);
}