如何在Clojure Reagent(类似于Hiccup)中防止HTML转义

5
我是使用ClojureScript Reagent的。它提供了类似hiccup的HTML生成。
我有一个包含HTML的字符串:
(def code "<b>hello world</b>")

当传递给Hiccup时,它将被转义,我在页面上得不到加粗的文本:
[:div code]

如何将代码添加到我的HTML输出中,以便它可以被整合而不被转义?
1个回答

14

试剂

使用 dangerouslysetInnerHTML 本地的 React 调用。

[:div {:dangerouslySetInnerHTML {:__html code}}])

另请参见:

(真正的) Hiccup

你需要使用来自hiccup.utilsraw-string函数:

[:div (raw-string code)]

非常感谢。但是我使用的是类似 hiccup 的 reagent,但并不是真正的 hiccup。因此没有 hiccup.util 命名空间 :-( - Witek
你没有。我已经改变了我的问题。抱歉;-) - Witek
2
@Witek 没问题,下次如果您注意到您的编辑将使现有答案失效,请提出一个新问题,并链接到旧问题,并解释其中的区别。 - Madara's Ghost
1
看起来hiccup.util命名空间中不再有raw-string函数:http://weavejester.github.io/hiccup/hiccup.util.html编辑:看起来它是v2的一部分:https://cljdoc.org/d/hiccup/hiccup/2.0.0-alpha2/api/hiccup.util#raw-string - Scott

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接