Skip to content

Fiber cannot render to DocumentFragment/ShadowRoot #11017

Closed
@Hotell

Description

Do you want to request a feature or report a bug?
bug

What is the current behavior?
React 15.x was able to render within a DocumentFragment/shadowRoot, not possible with Fiber anymore

DEMO

https://www.webpackbin.com/bins/-KvPFG7-HGfQ34IgUxQt

import React, {Component} from 'react'
import {render} from 'react-dom'


class MyComponent extends Component{
  render(){
    return <div>Hello From React !</div>
  }
}

class MyElement extends HTMLElement {
  static is = 'my-element'
  constructor(){
    super()
    const shadowRoot = this.attachShadow({mode:'open'})
    try {
      // this fails 
      render(<MyComponent/>, shadowRoot)
    } catch (e){
      console.error(e)
      shadowRoot.innerHTML = `
        <div style="color:red;">${e}</div>
        <div>see console log for stack trace</div>
       `
    }
  }
  connectedCallback(){
    console.log('MyElement mounted!')
  }
}

customElements.define(MyElement.is, MyElement)

related -> skatejs/renderer-react#3

What is the expected behavior?
be able to render to shadow root like previous versions of React

Which versions of React, and which browser / OS are affected by this issue? Did this work in previous versions of React?
React 16
Chrome

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions