Reaktif/Tepkime ile bir Hello World uygulaması oluşturmaya çalışıyorum. :value
/:on-change
combo kullanarak bir giriş ile bir giriş bağladım. Ben yazarken Ancak, giriş boş kalır: Ben let
dışına atomu taşırsanızReaktif girişi güncellenmiyor
(defn new-user []
; Atom declared in an inner `let`.
(let [v (atom "")]
[:div
[:input {:type "text"
:value @v
:on-change (fn [evt]
(reset! v (-> evt .-target .-value)))
}]]))
(defn app [state]
[:div
[:p "State" (pr-str @app-state)]
[new-user]])
(r/render-component [app app-state]
(.-body js/document))
, işe yarayacak: v
her seferinde yeniden Tepki redeclared çünkü
; Atom is now top-level.
(defonce v (atom ""))
(defn new-user []
[:div
[:input {:type "text"
:value @v
:on-change (fn [evt]
(reset! v (-> evt .-target .-value)))
}]])
bunu mı -renders? Eğer öyleyse, bu kodu nasıl yeniden gözden geçiririm? Böylece global değişkeni v
tutmak için kullanmam gerekmez mi?
benim değiştiğimi kadar benim için hiç çalışmamış Bu çözüm: value' için ': defaultValue'. –