2017-09-20 1 views
3

ich lernen Reagenz nur in Clojurescript verfolge ich nur einige Tutorial aber vielleicht fehlt mir etwas, das ich habe diesen Code für den StaatKorrekt Zustand in Reagenz Manipulation

(defonce app-state (atom {:text "Hello Chestnut!" :click-count 0})) 

und die gerenderte Ansicht

(defn article [] 
    [:div 
    [:div "The atom" [:code "click-count"] " has value : " (:click-count @app-state)] 
    [:input {:type "button" :value "Add" 
      :on-click #(swap! (:click-count @app-state) inc)}] 
    ] 
) 

Ich versuche, den Status zu erhöhen, wenn sie gedrückt werden, aber ich habe diesen Fehler auf der Konsole

+1

Nützliche Dokumente: https://clojuredocs.org/clojure.core/swap! – Bill

+1

Ich habe es gelesen, aber danke :) – Ampersanda

Antwort

3

das Atom ausgetauscht werden soll nicht die Klick-Zählung

(swap! app-state update :click-count inc) 
+0

Wow .. Ich habe versucht (tauschen! @ App-state update-in [: click-count] inc), aber funktioniert nicht. Kannst du mir sagen, warum das @ -Zeichen nicht benötigt wird? – Ampersanda

+1

Mit @ erhalten Sie nur den aktuellen Zustand des Atoms, um den Zustand zu ändern, müssen Sie das Atom selbst austauschen. –

+0

Vielen Dank .. – Ampersanda