om-cookbookのlocal-state の例では、update-state を使用してカウンターを更新できます。および set-state! ではありませんが、transact! ではそうではありません。
栗のテンプレートを使用してプロジェクトを初期化しました。
(def app-state (atom {:button-presses 0}))
これらの作品
(defn clicks [data owner]
(om/update-state! owner [:button-presses] inc))
(defn clicks [data owner]
(let [value (om/get-state owner :button-presses)]
(om/set-state! owner :button-presses (inc value))))
これは機能しません
(defn clicks [data owner]
(om/transact! data :button-presses inc))
IRenderState からの呼び出し
om/IRenderState
(render-state [_ state]
(dom/div nil
(dom/button #js
{:onClick #(clicks data owner)}
"Click Moi")
(dom/br nil)
(dom/p nil
(str "Button Presses: " (:button-presses state)))))))