在db.cls中:
(def default-db
{:cats [{:id 0 :data {:text "ROOT" :test 17} :prev nil :par nil}
{:id 1 :data {:text "Objects" :test 27} :prev nil :par 0}
{:id 2 :data {:text "Version" :test 37} :prev nil :par 1}
{:id 3 :data {:text "X1" :test 47} :prev nil :par 2}]})
在subs.cls中
(register-sub
:cats
(fn [db]
(reaction
(select [ALL :data] (t/tree-visitor (get @db :cats))))))
选择的结果:
[{:text "ROOT", :test 17}
{:text "Objects", :test 27}
{:text "Version", :test 37}
{:text "X1", :test 47}]
在views.cls文件中
(defn categorymanager []
(let [cats (re-frame/subscribe [:cats])]
[:> Reactable.Table
{:data (clj->js @cats)}]))
上述代码按预期工作。
与使用react.js组件显示数据不同,我想遍历:cats向量中的每个映射,并在html ul / li中显示:text项。
我开始如下:
(defn categorymanager2 []
(let [cats (re-frame/subscribe [:cats])]
[:div
[:ul
(for [category @cats]
;;--- How to continue here ?? ---
)
))
预期输出:
ROOT
Objects
Version
X1
我如何在re-frame中循环遍历已订阅的集合并将数据显示为列表项?(=标题问题)