在om-cookbook的本地状态示例中,我可以使用 update-state 更新计数器!和设置状态!,但不是交易!
我使用栗子模板初始化项目。
(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)))))))