je atome foo
:réactif ne composant pas rerender avec deref-ment intérieur de laisser
(defonce foo (r/atom "foo"))
je composant parent:
(defn parent-component []
(js/setTimeout #(reset! foo "bar") 5000)
(child-component {:foo foo}))
Et je 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 cela fonctionne-t-il de cette façon?
Notez que vous ne devez pas utiliser le formulaire-2 composants pour de tels cas, lorsque vous utilisez re-cadre et son abonnements: https://github.com/Day8/re-frame/issues/218 –