Dites que nous avons une zone de texte de texte définie dans la syntaxe hiccup.Pourquoi n'est-il pas possible de définir l'état d'un composant réactif dans un let?
(def written-text (reagent/atom ""))
(defn text-area []
[:textarea
{:value @written-text
:on-change #(reset! written-text (-> % .-target .-value))
:on-click #(println @written-text)}])
dire que nous voulons avoir plusieurs copies de texte zone dans notre document, chaque état avec tout différent. Ensuite, nous devrons déplacer l'état actuellement disponible pour tous dans l'espace de noms actuel dans un symbole de portée lexicale. Quelque chose comme:
(defn text-area []
(let [written-text (reagent/atom "")]
[:textarea
{:value @written-text
:on-change #(reset! written-text (-> % .-target .-value))
:on-click #(println @written-text)}]))
Mais tel quel, ce code ne fonctionne pas. Le champ de texte finit toujours vide, peu importe ce que l'utilisateur entre. Pourquoi donc? Et comment joindre mon état dans une portée lexicale par composant?