javascript - 如何将 htmldivelement 对象转换为 JSX/React 元素?
问题描述
我一直在尝试将 2 个现有的 Web 应用程序相互集成。然而,一种是使用带有 JSX 的 React,而另一种是使用简单的 JavaScript 和 HTML。因此,我同时使用 DOM 元素和 JSX。
我的问题是,有什么方法可以将 DOM 对象转换为 React 元素?这是因为当我尝试使用 ReactDOM 的.render()
方法用 DOM 对象更新 React 页面时, 我收到了这个错误。
PS我知道 react 具有该属性dangerouslySetInnerHTML
,并且存在一个名为 react-html-parser 的 NPM 包。但是,我正在寻找一个更安全的选项,它不会将我的 Web 应用程序打开到 XXS 攻击。
解决方案
有一个名为 Dompurify 的库。您可以先使用它来清理您的 html,然后使用 react-html-parser 将其转换为 jsx
import DOMPurify from 'dompurify';
import parse from "html-react-parser";
const cleanHtmlString = DOMPurify.sanitize(htmlString,
{ USE_PROFILES: { html: true } });
parse(cleanHtmlString);//will convert it to jsx
推荐阅读
- cron - 如何在 DockerFile 中以非 root 用户身份运行 crond
- javascript - 将 JS var 添加到 HTML 表单中
- java - 如何使用 JpaRepository 修复错误不保存并且存储库为空
- swift - 从导航数组中删除前一个控制器
- python - 如何在python中对极坐标系数据进行分组或聚类
- android - 通过 Wifi 调试时出现 Android 错误“自定义二进制文件被 frp 锁阻止”
- jquery - 自定义 jQuery 验证错误标签导致的多余空间
- javascript - 如何创建 JSON 文件并在 Wordpress 上阅读
- r - 相同的代码,不同的计算机,不同的结果
- google-app-engine - 优步 SOA 架构处理