Osk*_*eli 4 clojure hiccup clojurescript reagent
当我在 Reagent 中迭代 vector 时,像这样:
(for [item ["rattata" "pidgey" "spearow"]]
[:li item])])
Run Code Online (Sandbox Code Playgroud)
我想获得特定项目的索引 - 像这样:
[:li item index]
Run Code Online (Sandbox Code Playgroud)
我不是在问一般的 clojure 'for',因为另一种迭代 vector 的方法也会让我满意。
这实际上是一个通用的 Clojure 问题,而不是特定于 Reagent,但有几种方法可以做到这一点。
您可以使用类似于当前代码的方法来处理它
(def items ["rattata" "pidgey" "spearow"])
(for [index (range (count items))]
[:li (get items index) index])
Run Code Online (Sandbox Code Playgroud)
您还可以使用地图索引
(doall (map-indexed (fn [index item] [:li index item]) items))
Run Code Online (Sandbox Code Playgroud)
在这种情况下,doall是针对 Reagent 的,因为map和朋友返回可能会干扰 Reagent 的惰性列表(如果您忘记了它,它将向控制台打印警告)。
| 归档时间: |
|
| 查看次数: |
1388 次 |
| 最近记录: |