Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何在React中呈现HTML字符串?_Reactjs - Fatal编程技术网

Reactjs 如何在React中呈现HTML字符串?

Reactjs 如何在React中呈现HTML字符串?,reactjs,Reactjs,我有一个类似于的字符串hi。我必须将其渲染为“嗨”。有人能告诉我一个类似于innerHTML的东西,我可以在React中使用吗?您好,您可以尝试带有附带标签的危险的HTML: <div dangerouslySetInnerHTML={{ __html: yourhtml }} /> 根据官方数据 危险的是,React取代了在浏览器DOM中使用innerHTML。一般来说,从代码中设置HTML是有风险的,因为很容易在不经意间让用户遭受跨站点脚本(XSS)攻击。因此,您可以直接

我有一个类似于
的字符串hi
。我必须将其渲染为“”。有人能告诉我一个类似于
innerHTML
的东西,我可以在React中使用吗?

您好,您可以尝试
带有附带标签的危险的HTML

  <div dangerouslySetInnerHTML={{ __html: yourhtml }} />

根据官方数据

危险的是,React取代了在浏览器DOM中使用innerHTML。一般来说,从代码中设置HTML是有风险的,因为很容易在不经意间让用户遭受跨站点脚本(XSS)攻击。因此,您可以直接从React设置HTML,但您必须键入危险的LysetinerHTML并传递带有_HTML键的对象,以提醒自己这是危险的。例如:

函数createMarkup(){
返回{uuuhtml:'First·;Second'};
}
函数MyComponent(){
返回;
}

在我的例子中,我使用了以下包装


为了避免在使用
危险的LySetinerHTML
时出现潜在的安全漏洞(如XSS攻击),您可以执行以下操作:

首先使用它来清理HTML

从“domprify”导入domprify

let clean=domprify.sanitize(dirtyHtmlString,{USE_PROFILES:{html:true}})

然后可以使用Salman Lone所说的:

从“react render html”导入renderHTML

<div>
   {renderHTML(clean)}
</div>

{renderHTML(干净)}

is
ReactDOM.Render()
没有做这项工作吗?没有足够的信息嗨,请对答案进行投票并接受答案,这样像我这样的人将获得奖励,并在将来提供更棒的答案:)是的,我做了杰芬。这是有道理的!这样做的安全方法是什么?除了引用文档之外,还增加了哪些额外信息?一个多小时前的答案指向了相同的解决方案。
<div>
   {renderHTML(clean)}
</div>