Created
December 10, 2016 15:02
-
-
Save bru/91a83ec23967a5ad3094ee298001f89a to your computer and use it in GitHub Desktop.
dynamically update a dev card when changing the initial values
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(defonce feedback-state (atom {})) | |
(defn init-state [] | |
(reset! feedback-state | |
{:awesome 1 | |
:sleep 1 | |
:good 1})) | |
(defcard interactive-card | |
(fn [state-atom owner] | |
(dom/div nil "A single top-level element." | |
(dom/br nil) | |
(dom/span nil (str "Level of awesomeness: " (:awesome @state-atom))) | |
(dom/br nil) | |
(dom/span nil (str "Level of goodness: " (:good @state-atom))) | |
(dom/br nil) | |
(dom/span nil (str "Level of sleepiness: " (:sleepy @state-atom))) | |
(dom/br nil) | |
(dom/button #js {:onClick #(swap! state-atom update-in [:awesome] inc)} "Awesome") | |
(dom/button #js {:onClick #(swap! state-atom update-in [:good] inc)} "Good") | |
(dom/button #js {:onClick #(swap! state-atom update-in [:sleepy] inc)} "Sleep"))) | |
feedback-state | |
{:inspect-data true} | |
) | |
(defn main [] | |
(init-state) | |
;; conditionally start the app based on whether the #main-app-area | |
;; node is on the page | |
(if-let [node (.getElementById js/document "main-app-area")] | |
(.render js/ReactDOM (sab/html [:div "This is working"]) node))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment