BIENVENUE À NOTIR SUR LA FAÇON DE GÉRER L'État de Réagisme AVEC FORMIK. LES ÉLEMENTS DE FORMULAIRE DÉTIENATEUR LEURES VALEURS DANS LEUR ProPre État STNE - EN ATTEENT D'APPROCHE À L'État de RÉACT. Pour le Que les Deux Travaillent Ensemble, Nous Avons Besoin d'une solution Plus Impliquée, Telle Que L'Utilization de Composants Contrôlés Pour Chaque Versez Chaque Champ.
MAIS IL EXISTE DE NOMBREUX AUTRES ASPECTS POUR CRÉER UN FORMULAIRE QUE DE CAPTURER DES DONNées. NOUS DevONS Vérifier Que Le Formatage EST CORRECT, TOUS LES LES CHEQUES OBLIGATOIRES ONT Été Définis et que tout a Été Envoyé AVEC Succès LORSQUESQUES EST SOUMIS. CARCA CONDUIT À BEAUCOUP DE LOGIQUE POUVANT POUVANT ACCRAVANT RAPPEMENT. C'est-à-dire que Formik Peut Aider.
Pour plus de Ressources Pour Améliorer, Vélo Conception Web, consultez-vous Notre édition de Winds de conception Web ET stockage en ligne options. À Partir de Zéro? Choisir le Bon Générateur de site Web ET obtence vélo Hébergement Web Service Droite Avec Nos Rassemblements.
Formik EST UNE BIBLIOTHÈQUE LÉGÈRE QUE GÈRE CES problemes. En Enveloppant UNE FORME AVEC LES COMPOSANTS FOURNIS, NOUS OBTENONS BEAUCOUP DE CE COMPORTEMENT GRATISINEMENT. Tout CE Que Nous Devons Fournir est le code pour Gérer CE QUI Rend Notre Forme unique.
Versez NOUS Aider à Explorer CE Que Formik Peut-à-propos de Bust Faipe, NOUS Construirons UNE Petite Demande de vote. L'Utilisateur Peut dans le participant Son Nom et Vot Sur L'UNE DES OPTIONS Fournies. SI TOUT VA Bien, Le Formulaire Soumettra Mais, Sinon, L'utilisateur Redregoit Un message d'Erreur.
Pour Démarrer, Ouvrez le Répertoire «Tutoriel» à Partir des Fichiers de Tutoriel de la Ligne de la Commande. Installez Les Dépendances et Démarrez le serveur. Cette Application EST Construite sur Create-React-App et Comprend SES Colis, Ainsi Que Formik Lui-Même et Quelques Autres d'Autres Pour ARTIDE AVECT Le style.
& GT; Programme d'installation NPM
& gt; NPM Début
LE SERVEUR DE DÉVÉLOPPPEMENT DEMARRERA ET L'APPECTEUR S'OUVRE ENSUIT DANS LE NAVIGIGER. Le Fichier App.js Contrôle L'application Complète Qui Rendra Notre Composant de Conteneur Pour le Formulaire. S'ouvrir src / app.js et importateur le & lt; votéContainer & gt; Composant.
Importeur votésontainer de "./votecontainer";
AJOUTEZ ENSUITE DANS L'application.
& lt; Section Nom de Classe = "Vote-Conteneur" & GT;
& lt; votéContainer / & gt;
& lt; / section & gt;
LES FORMULAIES DE FORMIK PUUVENT ÊTRE CRÉÉES DE DEUX Manières. Le silhouette LE COMOSANT D'ORDRE Supérieur NOUS PERMETER DEVELOPPER UN COMPOSANT INTÉRIEUR DE L'UTILISER LE & lt; Formik & GT; COMPOSANT AVEC NATIONS DE RENDU QUI EFFÉURE LA MÊME FONCTION, CE QUE NOUS UTILISERONS.
À l'intérieur de votéSontainer.js, Créez ONU COMMENTANT FONCTIONNEL QUI CONSERVERA TOUTE LA LOGIQUE DU FORMULAIRE. CELA RENVOIE ONU & lt; Formik & GT; COMPOSANT QUI RENDEZ NOTRE FORME. FOURNIR UNE VALEUR DE DÉPART POUR LES CHAMPS QUE NOUS AJOUTRES PLUS TARD PAR LA Valeurs initiales Soutenir.
Importateur {Formik} de "Formik";
import vote de "./vote";
Fonction votésontainer () {
RETOUR & LT; formik
initialvalues = {{nom: "", Réponse: ""}}
rendu = {accès = & gt; & lt; vote {... accessoires} / & gt;} / & gt;
Le & lt; Vote & GT; LE COMOSANT DÉTIENT LA STRUCTURE DE FORMULAIRE. EN FAISANT SÉPARER LA LOGIQUE LA LOGIQUE, NOUS POUVONS GARDER LE COMPOSANT DE FORMULAIRE AUSSI SIMPLE QUE POSSIBLE.
Créer une Composante vote à l'Intérieur du vote.js Qui utilisez le & lt; forme & gt; Composant de Formik. AJOUTEZ UN BOUTON POUR SOUMETTRE LE FORMULAIRE Comme Normal.
Importateur {formik "de" formik ";
Vote de la Fonction () {
revenir (
& lt; Formulaire Nom de Classe = "vote" & gt;
& lt; Entrée Type = "Soumettre" Valeur = "Vote maintenant" / & GT;
& lt; / forme & gt;
);
}
Formik Conserve La Trace des modifications à Chaque Champ et Leur Fournira Un Fois Le Formulaire Soumis. CELA FAIT TOUT CELA À TRAVERS LES ÉVÉNEMENTS EMIS PAR LA FORME ET CHAQUE CHAMP CHAQUE EN LUI.
À l'ONU NIVEAU DE FORPULAIRE, il existe Deux Événements Spéciiques - Soumettre et Réinitialisateur. LORSQU'UN FORMULAIRE SOUMET, NOUS AVONS BESOIN DE FORIK POUR LA PRENDRE LA REMÈVE ET EFFUNER SES CHÈQUES, AVEC L'ÉVÉNEMENT DE RÉINITIALISATION EFFACÉE DE L'État. Les importateurs & lt; forme & gt; LE COMOSANT LIENT CES ÉVÉNEMENTS À FORMIK.
NOUS POUVONS MARTANTANT COMMENTIVER À AJOUVER NOTRE CHAMP CHAMP. Chaque vote DOIT ÊTRE ACCOMNÉ D'UN NOM, CE QUI SIMIFIE QUE NOUS AVONS BESOIN D'UNE ENTRÉE DE TEXTE EN Premier.
Le & lt; Champ & Gt; LE COMOSANT FAIT LE MÊME TRAVAIL QUE & lt; forme & gt; Fais pour l'Ensemble de la forme. Il lie lesévénements et Les Accessoires Nécessaires Tels Qu'un Nom et une Valeur Afin d'afficher l'État du Champ.
AJOUTEZ UN CHAMP DANS LE FORMULAIRE ET CONNECTEZ-LE À UNE ÉTIQUETTE. Puzz-CI Fonctionnements Comme Dans Des Forme HTML Régulières.
Importateur {Champ} de "Formik";
& lt; Étiquette HTMLFOR = "NOM" & GT; nom et lt; / étiquette & gt;
& lt; Champ Autocomplete = "Nom" ID = "NOM" NOM = "NOM" TYPE = "TEXTE" / & GT;
Nous N'AVONS Pas Besoin de Travailler Avec des Événements de Navigate à Soumettre, Comme Le ONSUBMIT L'Événement est manipulé pour nous. Mais nous devons Fournir la logique pour Gérer la Soumission. LE RAPPEL EST TOUJOURS APPELÉ ONSUBMIT MAIS CELA REÇOIT PLUTOT LES VALEURES DE FORMULAIRE DIRECTEMENT. IL Reçoit Également Le «Sac» - Nations Unies Collant Quelses Méthodes Pour Interagir AVEC Le Formulaire Lorsque est Soumis.
Comme cres Données SE Dirigeraient Générement Vers Un Serveur, Cette Fonction Peut égypement Être Asynchrone. Formik A UNE SPÉCIALE libétubre Apprendre que cela Définit True Automatie Un Fois Que La Soumission commence. ASYNC ASYNC ASYNC ASYNC, NOUS POUVONS AITS QUE LE FORMULAIRE AIT SOUMIS ET RÉGLER CELA À LA FAUSSE.
Retour à l'INTÉRIEUR de votéContainer.js, NOUS Pouvons Ajouter Notre logique de Soumission. Créer la Fonction et Transmettez-le à la & lt; Formik & GT; Composant. Versez CET Exemple, nous N'enverrons Pas à un serveur Servoureur, Mais Nous Pouvons Utiliseur UNE PROMESSE RETARDÉE DE SIMULER LA LATENCE DU RÉSEAU.
const Onsubmit = Async (Valeurs, SAC) = & GT; {
Abandonnière une nouvelle promesse (Résolution = & GT; Settimeout (Résolution, 1000));
sac.SetSubmitting (faux);
console.log ("Formulaire Soumis", Valeurs);
};
RETOUR & LT; Formik [...] Onsubmit = {Onsubmit} / & GT ;;
NOUS DevONS Également afficher CET État de Soumission Dans le Formulaire. Pour Éviter une double Soumission, NOUS Pouvons Désactiver Le Bouton Pendentif La Soumission du Formulaire. Formik Transmet Cela dans la forme à l'Intérieur du vote.js Comme ONU Accessoire. NOUS POUVONS Reirer Cela et L'APPLIQUER sur le Bouton.
Vote de Fonction ({issubmitting}) {[...]}
& lt; Entrée Désactivée = {Issubmitting} Type = "Soumettre" Valeur = "Vote maintenant" / & GT;
Pour le moment, le Formulaire Peut-Être Soumis Sans Nom d'Entrée. Agit d'ONU Champ Champ Nous Devrions Signaleur Cela à l'Utilisateur.
La Racine & lt; Formik & GT; LE COMOSANT PREND ÉMÉMENT UNE ACCESSOIR DE VALIDATION, QUI EST UNE FONCTION QUI EXÉCUE LA VALIDATION ET RENVOIE ONU OBJET. Chaque paire de Valeurs de Clé Représense Un Champ et Un Message d'Erreur. SI Un Champ N'a Aucune Valeur Dans l'Objet de Cet, Il est Révuté Eman Valide. LE FORMULAIRE NE SOUMETRA QUE LORSQUE CETTE FONCTION RENVOIE ONU OBJET VIDÉ. LA FONCTION REÇOIT LES VALEURES DE FORMULAIRE SOUS FORME D'ARGUMENTATION. Pour les Champains de l'ONU Requis, il suffit de Vérifier que la Valeur N'est Pas une Chaîne Vidéo.
Retour à l'Intérieur de votéContainer.js, Créez une Fonction de Rappel Validation Pour Vérifier Cede Valeur et La Connecteur à Formik.
Const Valider = Valeurs = & GT; {
const errors = {};
Si (valeurs.name === "") {
erreurs.name = "nom est requis";
}
Erreurs de Retour;
};
RETOUR & LT; Formik [...] Validate = {Valider} / & GT;
CES Erreurs Sont Superite transmise à vote.js commique des Erreurs accessoires. Pour afficher les Erreurs en ligne, Nous Devons Faire Correspondre Les Erreurs sur Le Champ de Formulaire Particulier.
Vote de Fonction ({Issubmitting, Erreurs, Touchée}) {[...]}
& lt; div classname = "groupe d'entrée" & gt;
& lt; Étiquette HTMLFOR = "NOM" & GT; nom et lt; / étiquette & gt;
& lt; diviser
NOM DE CLASSE = {NOMS DE CLASSE ({
"Validation-Group": VRAI,
Erreur: !! Erreurs.name & amp; & amp; Touché.name
})}
& gt;
& lt; Champ Autocomplete = "Nom" ID = "NOM" NOM = "NOM" TYPE = "TEXTE" / & GT;
{!! Erreurs.name & amp; & amp; Touché.name & amp; & amp; (
& lt; divanname = "message-message" & gt; {erreurs.name} & lt; / div et gt;
)}
& lt; / div et gt;
& lt; / div et gt;
Formik Validera Le Formulaire à Chaque Mise à jour de Son Mise à jour. ONU FORMULAIRE AVEC Beaucoup de Champs Champs Serait Immélateur Sous-maîtrité Av'ec des Erreurs Après Le Premier Change. Versez Éviter Cela, NOUS N'AVONS AFFICHÉ QUE L'ERREUR LORSQUL'UN CHAMP A Été "Touché", CE QUI SIMIFIE QU'IL A Été InterAgi Avec à ONU Moment Donné. LORSQU'UN FORMULAIRE SOUMET, FORMIK TOUCHERA TOUBERA TOUS LES CHAMPS ET AFFICHERA TOUTES LES ERRÈRES CACHÉES.
AVEC Le Champ Nom complet, NOUS POUVONS PASSER AUX RÉPONES. L'Approche Que nous avons UTILISÉE JUSQU'À PRÉSENT FONCTIONNE BIEN POUR DES ENTRÉES DE TEXTE Régulières MAIS NE CONVENTE PAS À PLUS ENTRÉES QUI TOMBENT SOUS LE MÊME NOM DE CHAMP, Dites à la radio de Qu'un Groupe de Boutons.
Bien que NOUS Puissions Incurez Plus & lt; Champ & Gt; COMMUNANTS AVEC LE MÊME NOM, NOUS Devtions Éviter de SE Répéter Autant que possible. Au lieu de Cela, Filik Nous Permet De Passer Un Composant Personalisé Dans & LT; Champ & Gt; CELA PEUT LES GÉRER Comme l'ONU.
Le & lt; Answergroup & GT; Les Fonctionnements Fonctionnements Similaires à la Saisie de Texte. IL FAUT ONU ACCESSOIRE D'OPTIONS, QUI EST UN TABRIER CONTENANT LES OPTIONS À ASFICHER. Celles-CI Sont Transformées En Boutons Styles Radio Qui Perferettent Aux Utilisateurs de Choisir Une Réponse. Inclure Cette Composante au Sein du vote.js. En utilitaire & lt; Champ & Gt; Il est Passé les Mêmes Accessoires Que L'Entrée de Nom Ainsi que des Extras, Danse Cas Le Option constant.
Importateur Un Groupe de Réponses de "./answergroup";
& lt; Composant de Champ = {Answergroup} Options = {Options} Nom = "Réponse" / & GT;
Enfin, Nous Devons NécessiterSiter Une Réponse Dans Notre Fonction de validation à Vectecontainer.js Égéliment. Le Processus est identique à Celui du Champ Nom.
Si (valeurs.answer === "") {
erreurs.answer = "Réponse Est requise";
FR Conservant LA LOGIQUE DE VALIDATION ET DE SOUMISSION, SÉPARZ ET UTILISEZ FORMIK POUR TOUT COUSER ENSUELBLE, NOUS SOMMES EN MESURE DE GARDER CHAQUE PIQUE ET FACILLE À COMPRENEZ.
CE CONTENU EST Apparu à l'Origin Dans filet de magazine . En savoir plus de notre Articles de conception Web ICI .
Lire la suite:
[DIX] [DIX] [DIX] [dix] (Crédit d'image: Croquis de gravité) [DIX] Esquisse de gra..
[DIX] [DIX] [DIX] [dix] [DIX] Les sorties de peinture Numérique ONT SÉRIEUSÉ AVANCÉ CES Dernières An..
[dix] [dix] [dix] [dix] Pour cet atelier, je vais créer un fond intérieur mettant en vedette l'art ..
[dix] [dix] [dix] [dix] Les couches sont ce qui vous permet de construire un projet à partir des fon..
[dix] [dix] [dix] [dix] Le flash est lentement abandonné par Adobe en faveur de HTML5 et JavaScript;..
[dix] [dix] [dix] [dix] Avec une grande variété de créatures et de personnages redoutables pour cr..
Claris est une application relativement nouvelle et elle est plus qu'un simple moteur, un outil de mise en page ou d'aspect. Clarisse libère les artistes des contraintes de pouvo..
[dix] [dix] [dix] [dix] Sous-sainting est un technique de peinture Fab..