Skip to content

Instantly share code, notes, and snippets.

@selfsame
Created January 20, 2014 19:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save selfsame/8527760 to your computer and use it in GitHub Desktop.
Save selfsame/8527760 to your computer and use it in GitHub Desktop.
om/IDidUpdate triggers re-render in om 0.1.4
(ns examples.events.core
(:require [om.core :as om :include-macros true]
[om.dom :as dom :include-macros true]))
(enable-console-print!)
(defn ticker [data owner opts]
(reify
om/IInitState
(init-state [_]
{:s 0})
om/IShouldUpdate
(should-update [this next-props next-state]
true)
om/IWillMount
(will-mount [_]
(om/transact! data :force inc ))
om/IRender
(render [_]
(dom/button #js {:onClick #(om/transact! data :force inc )}
(str "state:" (:s (om/get-state owner)) )))
om/IDidUpdate
(did-update [_ _ _ _]
(om/set-state! owner :s (inc (:s (om/get-state owner)))))))
(om/root {:force 0} ticker (.-body js/document))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment