我有原子foo
:
(defonce foo (r/atom "foo"))
我有父组件:
(defn parent-component []
(js/setTimeout #(reset! foo "bar") 5000)
(child-component {:foo foo}))
我有子组件:
(defn child-component [props]
(let [derefed (deref (:foo props))]
(fn []
[:div
[:p derefed]
[:p (deref (:foo props))]])))
重置后仅更新第二段foo
。
为什么它会这样工作?