Ensure attribute table server-renders SVG inside SVG container (#10588)
Dan Abramov committed
Aug 31, 2017 at 18:41 UTC
fdf9d32a2e1fd3274f4f7eec462ae1dbac687e0e
1 file changed
+18
-5
fixtures/attribute-behavior/src/App.js
+18
-5
@@ -2603,11 +2603,24 @@ function getRenderedAttributeValue(renderer, serverRenderer, attribute, type) {
2603
let hasTagMismatch = false;
2604
let hasUnknownElement = false;
2605
try {
2606
- const html = serverRenderer.renderToString(
2607
- React.createElement(tagName, props)
2608
- );
2609
- container = createContainer();
2610
- container.innerHTML = html;
2606
+ if (containerTagName === 'document') {
2607
+ const html = serverRenderer.renderToString(
2608
+ React.createElement(tagName, props)
2609
+ );
2610
+ container = createContainer();
2611
+ container.innerHTML = html;
2612
+ } else {
2613
+ const html = serverRenderer.renderToString(
2614
+ React.createElement(
2615
+ containerTagName,
2616
+ null,
2617
+ React.createElement(tagName, props)
2618
+ )
2619
+ );
2620
+ const outerContainer = document.createElement('div');
2621
+ outerContainer.innerHTML = html;
2622
+ container = outerContainer.firstChild;
2623
+ }
2624
2625
if (
2626
!container.lastChild ||