我正在ClojureScript / Reagent中处理简单的“类似于Wiki的”超文本视图。
我有一些文字。现在,我想将与LinkPattern匹配的内容转换为可点击的链接。
在“传统” Wiki编程中,我只使用正则表达式来替换URL的模式。
例如转
this is SomeText that's a link
进入
this is <a href="/view/SomeText">SomeText</a> that's a link
但是在此版本中,>
a)我不想使它们成为普通的html锚链接,我想在链接上附加某种单击事件处理程序(这将触发对服务器的Ajax调用,而不是重新加载整个页面)
b)我正在使用Clojure的React试剂包装。所以我假设我不想简单地将原始Javascript混入html中。我想以“原则”的方式附加事件处理程序,这对ClojureScript和React / Reagent都是正确的。
所以我应该怎么做?
仅供参考,我正在将标记预处理为HTML,然后使用:dangerouslySetInnerHTML将其插入页面。因此,无论我将点击处理程序添加到链接中的内容如何,都必须使其幸免。
或者我是否必须添加事件处理程序之后
我已经渲染了它们?在这种情况下,我该怎么办?我知道我在JQuery中会做什么,使用“ bind”将事件处理程序附加到特定类的范围。但是,再次,我对在ClojureScript Reagent中考虑此问题的正确方法感到困惑。在那个世界上,jQuery的“绑定”相当于什么?
我正在ClojureScript / Reagent中处理一个简单的“类似于Wiki的”超文本视图。我有一些文字。现在,我想将与LinkPattern匹配的内容转换为可点击的链接。在“传统” Wiki中...
我认为使用:dangerouslySetInnerHTML可能在错误的路径上。作为您的使用试剂(它是一个反应包装器),您很少希望以这种方式将HTML注入DOM。