2

om-cookbooklocal-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)))))))
4

2 に答える 2