Reagent doesn't rerender component with deref-ing inside of let

Viewed 321

I have atom foo:

(defonce foo (r/atom "foo"))

I have parent component:

(defn parent-component []
  (js/setTimeout #(reset! foo "bar") 5000)
  (child-component {:foo foo}))

And I have child component:

(defn child-component [props]
  (let [derefed (deref (:foo props))]
    (fn []
      [:div
       [:p derefed]
       [:p (deref (:foo props))]])))

Only second paragraph is updated after reseting foo.

Why is it working that way?

1 Answers
Related