我正在从我的 Reagent 应用程序中执行 Ajax GET,以从数据库中加载一些内容。
我不完全确定将这种 ajax 调用结果获取到我的页面的最佳方法是什么,考虑到如果我将它放在一个原子中,那么 Reagent 会在取消引用原子时自动重新渲染一个组件,这意味着我得到一个无限的ajax调用序列。
对于一些代码,
(def matches (atom nil))
(defn render-matches [ms]
(reset! matches (into [:ul] (map (fn [m] ^{:key m}[:li m])
(walk/keywordize-keys (t/read (t/reader :json) ms)))))
这个函数基本上创建了一个[:ul [:li "Stuff here"] [:li "And here"]]
我想在我的页面上显示,现在有以下代码。
(defn standings-page []
(GET "/list-matches"
{:handler render-matches})
@matches)