我从API中获取文章,然后解析HTML代码:
function Article({ article }) {
return (
<PageContainer>
<div className={styles.container}>
{parser(article.content.html)}
</div>
</PageContainer>
)
;
}
我的问题是,当我从API中获得类似<div class='google_ad'></div>
的东西时,插入GoogleAdComponent的最佳方法是什么?
我试过添加一个useEffect
,检查是否有这个名字的类,然后appendChild,但是在React中我们需要创建一个元素作为React节点,然后将其添加到React. render()中,对吗?我感觉有一个更简单的实现,但是我在网上找不到关于这个的任何信息。
提前感谢:)
1条答案
按热度按时间gajydyqb1#
dangerouslySetInnerHTML是React在浏览器DOM中使用innerHTML的替代品。通常,从代码设置HTML是有风险的,因为很容易无意中使用户遭受跨站点脚本(XSS)攻击。因此,您可以直接从React设置HTML,但必须键入dangerouslySetInnerHTML并传递一个带有__html键的对象,以提醒自己它是危险的。例如:
https://reactjs.org/docs/dom-elements.html
但决不能将其用于用户输入,只能用于可信来源