クイズ テストの一連の問題を表示しています。ブラウザに表示されるときに番号を付けるために、各問題に番号を割り当てています。
(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を試してみましたが、うまくいきませんでした。