我想在 React 中渲染一个html对象。我需要使用html,将其作为String
传递给 React 并将其渲染到那里。我不确定如何继续。
html对象可以是
之类的东西<p>Hey man </p>
<p>nlkansnsa</p>
<p>as</p>
<p><strong>asasas</strong></p>
<p><strong>knla</strong></p>
<p><br></p>
<ul>
<li><strong>point 1 </strong></li>
<li><strong>point 2</strong></li>
<li><strong>point 3 </strong></li>
</ul>
<p><br></p>
答案 0 :(得分:1)
使用包含dangerouslySetInnerHTML
元素的render
到html
字符串,如下所示:
<div dangerouslySetInnerHTML={{ __html: "<div>hello</div>" }}></div>
您也可以传递包含该字符串的任何变量,如下所示:
let htmlString = "<div>hello</div>";
<div dangerouslySetInnerHTML={{ __html: htmlString}}></div>
检查 DOC 。
检查此示例:
let string = "<p>Hey man </p><p>nlkansnsa</p><p>as</p><p><strong>asasas</strong></p><p><strong>knla</strong></p><p><br></p><ul><li><strong>point 1 </strong></li><li><strong>point 2</strong></li><li><strong>point 3 </strong></li></ul><p><br></p>";
var App = () => {
return(
<div>
<div dangerouslySetInnerHTML={{ __html: "<div>hello</div>" }}></div>
<div dangerouslySetInnerHTML={{ __html: string }}></div>
</div>
)
}
ReactDOM.render(<App/>, document.getElementById('app'))
&#13;
<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'/>
&#13;