Clojure 试剂不注册原子表
我有简单的新来者申请表。 我定义了一些组件定义:Clojure 试剂不注册原子表,clojure,reactjs,clojurescript,reagent,Clojure,Reactjs,Clojurescript,Reagent,我有简单的新来者申请表。 我定义了一些组件定义: (def md-vals (atom nil)) (defn markdown [url] (GET (str js/context url) {:handler (fn [response] (swap! md-vals assoc url response) (js/alert (str "loaded\n" (subs response 1 100))))}) (fn [] [
(def md-vals (atom nil))
(defn markdown [url]
(GET
(str js/context url)
{:handler
(fn [response]
(swap! md-vals assoc url response)
(js/alert (str "loaded\n" (subs response 1 100))))})
(fn [] [:p (get @md-vals url "loading...")]))
它作为页面组件的用法:
(defn docs [] [markdown "/md/docs.md"])
最后是页面绑定:
(defn init! []
...
(render-component (docs) (.getElementById js.document "docs")))
除atom状态切换通知外,所有操作都正常。在成功获取资源时,我看到了假定的警报
消息,但页面的相应区域没有切换
Chrome调试器显示,在atom切换时,atom的watchs
属性为空(null
),因此不会触发任何通知
我的方法可能有什么错误?您应该使用
试剂.core/atom
而不是常规的Clojureatom
。将此添加到命名空间:require
:
[试剂芯:作为试剂:参考[原子]]
您使用的是试剂芯/atom
还是纯Clojureatom
?请发布您的名称空间声明。@sbensu谢谢!它当然是内置的原子,没有试剂参考。请你描述一下这个模棱两可的回答,以便接受。谢谢!这帮了大忙。