我想将重新构建的 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 的方法吗?
预先感谢您的帮助。
问候
我已将
re-frame
标签替换为更合适的 reagent
- 重新构建自身用于渲染的库。
在 React 中,您可以通过接收未解析的 HTML 的
dangerouslySetInnerHTML
属性来完成此操作。
在试剂中,并因此重新构建,为了使用该属性,您必须编写如下内容:
(defn wrap-html [html]
[:div {:dangerouslySetInnerHTML {:__html html}}])