   (WrapperComponent #js {:wrappee child
                          :onWillMount f}))
 
+(defn on-will-update
+  "Wrap a component, specifying a function to be called on the
+  componentWillUpdate lifecycle event.
+
+  The function will be called with no arguments."
+  [child f]
+  (WrapperComponent #js {:wrappee child
+                         :onWillUpdate f}))
+
+(defn on-will-render
+  "Wrap a component, specifying a function to be called on the
+  componentWillMount AND the componentWillUpdate lifecycle events.
+
+  The function will be called with no arguments."
+  [child f]
+  (WrapperComponent #js {:wrappee child
+                         :onWillMount f
+                         :onWillUpdate f}))
+
+
 (defn on-will-unmount
   "Wrap a component, specifying a function to be called on the
   componentWillUnmount lifecycle event.

  (WrapperComponent #js {:wrappee child
                         :onWillUnmount f}))

(defn render
  "Given a ReactJS component, immediately render it, rooted to the
  specified DOM node."

  The function will be passed the rendered DOM node."
  [child f]
  (WrapperComponent #js {:wrappee child
                         :onMount f
                         :onUpdate f}))


(defn on-will-mount
  "Wrap a component, specifying a function to be called on the
