2017-08-02 78 views
1

我有一個反應組件,我希望它的innerHTML作爲prop傳遞給iframe。如何獲得React組件的innerHTML

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

有沒有這樣做的方法。

我只想在iframe中渲染,所以我不能使用ref。我想要沒有安裝的組件的innerHTML

+0

的【如何訪問反應的DOM元素可能的複製?什麼是React中document.getElementById()的平衡值?(https://stackoverflow.com/questions/38093760/how-to-access-a-dom-element-in-react-what-is-the-equilvalent- of-document-getele) –

回答

3

您可以使用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>

+0

有沒有渲染組件。我只想在iframe中呈現組件 – PranavPinarayi

相關問題