React.render replace container instead of inserting into

前端 未结 4 705
花落未央
花落未央 2020-12-09 16:05

I\'m gradually replacing some Backbone views with React.

My React View:

Rendered By React
4条回答
  •  温柔的废话
    2020-12-09 16:33

    This appears to work:

    const linkEl = ;
    const linkElAsDirectChildOfHead = ReactDOM.createPortal(linkEl, document.head); // portal will do actual adding-to-head
    ReactDOM.render(linkElAsDirectChildOfHead, document.createElement("div")); // render stub into never-added container
    

    The result:

    Note that, as desired, it doesn't delete the other children within document.head.

    Not sure if this method has any negative side-effects, but at first glance it appears to work.

提交回复
热议问题