我试图将HTML代码段存储在Javascript字符串中,然后每当有"查看源代码时对其进行反应。单击按钮。
这是字符串的示例:
var testString = "⟨!DOCTYPE HTML⟩"
在我的React组件的渲染功能中,它看起来像:
return <pre>{testString}</pre>;
然而,这只是吐出字符串,而不转换任何转义字符。当我检查HTML时,字符串将被插入HTML中,并在其周围加上引号。我尝试使用:
var testString = String(/⟨!DOCTYPE HTML⟩/).substring(1).slice(0,-1);
从字符串中删除引号,但这并没有改变任何内容。我还尝试将其放入<p>
,<div>
和<code>
标记,但未成功。关于它为什么这样做的任何想法?
此外,如果这是浏览器在引号内显示内容的方式,我是否可以在不使用转义字符的情况下在引号内的网页上显示HTML代码?即。
var testString = "<!DOCTYPE HTML>";
答案 0 :(得分:0)
您可以使用dangerouslySetInnerHTML
:https://reactjs.org/docs/dom-elements.html#dangerouslysetinnerhtml
return <pre dangerouslySetInnerHTML={{ __html: testString }} />;