J'ai des atomes foo
:
(defonce foo (r/atom "foo"))
J'ai un composant parent :
(defn parent-component []
(js/setTimeout #(reset! foo "bar") 5000)
(child-component {:foo foo}))
Et j'ai un composant enfant :
(defn child-component [props]
(let [derefed (deref (:foo props))]
(fn []
[:div
[:p derefed]
[:p (deref (:foo props))]])))
Seul le deuxième paragraphe est mis à jour après la réinitialisation foo
.
Pourquoi ça marche comme ça ?