从重新构建 clojurescript 应用程序中解释 HTML 字符串

问题描述 投票:0回答:1

我想将重新构建的 clojurescript 应用程序连接到无头内容管理器以获取帖子。内容以带有 HTML 标签的字符串形式返回给我 - 如下所示:

<h1>dsfdsfdsf</h1><p>ddsfdsf</p>

我直接显示字符串并以显示标签的完整字符串结束...... 我读到我需要使用解释器访问 DOM。

我尝试了以下功能

(defn parse-html [html]
  "Parse an html string into a document"
  (let [doc (.createHTMLDocument js/document.implementation "mydoc")]
    (set! (.-innerHTML doc.documentElement) html)
    doc
    ))
(parse-html "<div><p>some of my stuff</p></div>")

但以错误结束

Uncaught Error: Objects are not valid as a React child (found: [object HTMLDocument]). If you meant to render a collection of children, use an array instead.

有人可以建议我一种从字符串渲染 html 的方法吗?

预先感谢您的帮助。

问候

dom clojurescript reagent
1个回答
1
投票

我已将

re-frame
标签替换为更合适的
reagent
- 重新构建自身用于渲染的库。

在 React 中,您可以通过接收未解析的 HTML 的

dangerouslySetInnerHTML
属性来完成此操作。

在试剂中,并因此重新构建,为了使用该属性,您必须编写如下内容:

(defn wrap-html [html]
  [:div {:dangerouslySetInnerHTML {:__html html}}])
© www.soinside.com 2019 - 2024. All rights reserved.