react div change reactjs clojurescript reagent

reactjs - div - react js change title



Reactivo: componente de montaje (2)

Como dice sbensu, with-meta solo parece funcionar en reactivo en una función. Esto significa que puede usarse con identity para producir una envoltura reutilizable como se espera

(def initial-focus-wrapper (with-meta identity {:component-did-mount #(.focus (reagent/dom-node %))})) (defn chat-input [] (fn [] [initial-focus-wrapper [:input {:type "text"}]]))

Estoy tratando de establecer el enfoque inicial en un elemento de entrada

(defn initial-focus-wrapper [element] (with-meta element {:component-did-mount #(.focus (reagent/dom-node %))})) (defn chat-input [] (fn [] [initial-focus-wrapper [:input {:type "text"}]]))

Aunque esto no funciona para mí. ¿Qué estoy haciendo mal?


Creo que with-meta debería tomar una función como argumento. De los documentos:

(def my-html (atom "")) (defn plain-component [] [:p "My html is " @my-html]) (def component-with-callback (with-meta plain-component {:component-did-mount (fn [this] (reset! my-html (.-innerHTML (reagent/dom-node this))))}))

Entonces tu código debería ser:

(defn initial-focus-wrapper [element] (with-meta element {:component-did-mount #(.focus (reagent/dom-node %))})) (defn chat-input [] [initial-focus-wrapper (fn [] [:input {:type "text"}]]))