2

我使用 React 构建了一个存储文档的 Web 应用程序。这些是用 HTML 创建的,然后存储在数据库中。为了在应用程序中显示它们,我div使用dangerouslySetInnerHTML.

<div dangerouslySetInnerHTML={{__html: this.props.page.content}} />

即使这工作得非常好,dangerouslySetInnerHTML顾名思义,还是要更加注意这种情况,但我想知道究竟可以做些什么来保持足够的灵活性来加载 HTML 并使其出现在 Web 应用程序中。我相信危险一词解决了跨站点脚本的危险,这意味着可以注入脚本,执行有害代码。

作为对策,我想在将 HTML 代码解析为div. 解决此问题的一个库是DOMPurify另一种方法是使用html-react-parser将数据库中的 HTML 代码直接转换为 React Elements 。

那是正确的方法吗?或者有替代品dangerouslySetInnerHTML吗?

4

1 回答 1

4

也许这些解析器可以满足您的需求

html-to-react

html-react-解析器

于 2019-02-12T21:43:48.773 回答