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"}]]))