我正在为测验测试显示一组问题,并为每个问题分配一个数字,以便在浏览器中显示它们时对其进行编号:
(defn questions-list
[]
(let [counter (atom 0)]
(fn []
(into [:section]
(for [question @(re-frame/subscribe [:questions])]
[display-question (assoc question :counter (swap! counter inc))])))))
问题是,当有人在浏览器中编辑问题时(调用调度并更新“app-db”映射)组件被重新渲染,但原子“计数器”逻辑上从最后一个数字而不是从零开始. 所以我需要重置原子,但我不知道在哪里。我尝试在匿名函数中使用let,但这没有用。