              (this-as this
                (vswap! (state this) call-all will-mount))))
          :componentDidMount
-         (when-not (empty? did-mount)
-           (fn []
-             (this-as this
+         (fn []
+           (this-as this
+             (gobj/set this ":rum/mounted?" true)
+             (when-not (empty? did-mount)
                (vswap! (state this) call-all did-mount))))
          :componentWillReceiveProps
          (fn [next-props]



(defn- render-all [queue]
  (doseq [comp queue]
    (.forceUpdate comp)))




        ctor (fn [props]
               (this-as this
                 (gobj/set this "state"
                           #js {":rum/state"
                                (-> (gobj/get props ":rum/initial-state")
                                    (assoc :rum/react-component this)
                                    (call-all init props)
                                    volatile!)})
                 (.call js/React.Component this props)))]

    (gobj/set ctor "displayName" display-name)
