diff options
-rw-r--r-- | .changeset/metal-penguins-drum.md | 5 | ||||
-rw-r--r-- | packages/integrations/react/client.js | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/.changeset/metal-penguins-drum.md b/.changeset/metal-penguins-drum.md new file mode 100644 index 000000000..cd740f6e5 --- /dev/null +++ b/.changeset/metal-penguins-drum.md @@ -0,0 +1,5 @@ +--- +"@astrojs/react": patch +--- + +Fixes an issue where passing void elements (img, etc..) did not work with the `experimentalReactChildren` option enabled diff --git a/packages/integrations/react/client.js b/packages/integrations/react/client.js index cef488c83..90e4ceb83 100644 --- a/packages/integrations/react/client.js +++ b/packages/integrations/react/client.js @@ -15,6 +15,10 @@ function createReactElementFromDOMElement(element) { for (const attr of element.attributes) { attrs[attr.name] = attr.value; } + // If the element has no children, we can create a simple React element + if (element.firstChild === null) { + return createElement(element.localName, attrs); + } return createElement( element.localName, |