1
我想了解输入字段在Reagent中如何工作。在ClojureScript/Reagent中绑定on-change
我第一次尝试绑定on-change
一个简单的功能,改变底层的原子:
(defonce app-state
(reagent/atom "Teodor"))
(defn page [ratom]
[:div
[:p
"Please enter your name: "
[:input {:on-change #(swap! ratom %)
:value @ratom}]]
[:p "Your name is " @ratom]])
...没有工作。然而,这不:
(defonce app-state
(reagent/atom "Teodor"))
(defn page [ratom]
[:div
[:p
"Please enter your name: "
[:input {;:on-change #(swap! ratom %)
:on-change (fn [evt]
(reset! ratom (-> evt .-target .-value)))
:value @ratom}]]
[:p "Your name is " @ratom]])
我已经成功地desugar的->
宏:
(fn [evt]
(reset! ratom (-> evt .-target .-value)))
;; is the same as
(fn [evt]
(reset!
ratom
(.-value (.-target evt))))
- 什么
.-value
和.-target
吗? - 我在哪里可以找到
.-value
和.-target
的文档? - 为什么选择更复杂的语义?
啊,这就是为什么我没有找到任何搜索ClojureScript文档的原因。 任何推荐的JavaScript文档来源?我从Mozilla和W3Schools找到了文档,但我缺少代码示例。 我不是一个Web开发人员,因为你可能已经猜到了! – Teodor
我从Github ClojureScript代码开始,然后使用Google来解决特定的JavaScript问题。如果你不能以这种方式工作,那么可以在ClojureScript Slack组织或者在SO处询问。有点让人担心的是CSS! –