reactjs - 如何获取React组件的innerHTML

标签 reactjs iframe

我有一个 React 组件,我希望将其 insideHTML 作为 prop 传递给 iframe。

render() {
        const page = <PrintPage />
        const iframeContent = page..something...innerHTML
        return (
            <iframe srcDoc={iframeContent}/>);
}

有什么办法可以做到这一点吗?

我只想在 iframe 内渲染,所以我不能使用 ref。我想要未安装组件的innerHTML

最佳答案

您可以使用refsReactDOM.findDOMNode来获取innerHTML,但应该安装组件。

class App extends React.Component{

  componentDidMount(){
    console.log(this.ref.innerHTML)
    console.log(ReactDOM.findDOMNode(this).innerHTML)
  }
  render(){
    return (
      <div ref={r=>this.ref = r}>app</div>
    )
  }
}

ReactDOM.render(
  <App />,document.getElementById("app")
)
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="app"></div>

关于reactjs - 如何获取React组件的innerHTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45456644/

相关文章:

javascript - 在Reactcropperjs中将base64转换为文件类型?

javascript - 将回调/ promise 从组件传递给操作创建者

javascript - 允许用户将我的内容嵌入他们的网站(如博客)——rails 4

javascript - 更改 eBay 列表的背景图片,显示在 IE 中,但不显示在 Chrome/Firefox/Safari 中

css - iframe 内部 div 高度固定

javascript - 使用 useEffect 填充多个下拉数据

css-transitions - ReactJS 转换 - 为什么这不起作用?

javascript - react : Understanding import statement

ajax - 为 "long polling"使用iframe不会导致浏览器闪烁

html - 使用按钮显示和隐藏带有iframe的特定div