【问题标题】:parsing & wrapping HTML strings with React components使用 React 组件解析和包装 HTML 字符串
【发布时间】:2017-03-14 22:50:50
【问题描述】:

我正在访问一个 API 端点,它将博客文章的 HTML 作为字符串返回。响应字符串中有很多<p> 标记、<img><span><div> 标记,其中包含大量元素嵌套。

在反应应用程序中,我想解析这个 HTML 字符串,并用自定义反应组件替换一些 HTML 元素(图像、段落)(即在延迟加载反应组件中包装图像标签)。

有什么好的/干净的方法来做到这一点?尝试使用正则表达式解析 HTML 似乎是一种反模式,我不确定还有哪些其他可能的选择。将字符串解析成传统的dom节点,然后遍历集合?

目前我只是使用dangerouslySetInnerHTML 将 html-as-string 呈现在一个反应​​组件中。

什么是可靠的、非正则表达式的方式来用 React 组件包装 html-as-a-string 实体,同时保持节点的原始顺序(即在博客文章中)?

【问题讨论】:

  • 不要使用 RegEx 解析 HTML,否则 Zalgo will destroy you
  • @AndrewLi 是的!正是我说我不想的原因。我不想让 Zalgo 找到我 :)

标签: string parsing reactjs elements


【解决方案1】:

看看这个模块,看看它是否可以帮助你:(https://www.npmjs.com/package/html-to-react)。基本上,您可以:

  1. 将 html 字符串转换为 React 组件节点
  2. 替换元素的子元素

【讨论】:

    猜你喜欢
    • 2018-10-29
    • 1970-01-01
    • 2014-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-15
    相关资源
    最近更新 更多