Champ d'entrée non contrôlé

ReactReactBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons explorer la manière de créer un champ d'entrée non contrôlé à l'aide de React. Un champ d'entrée non contrôlé est un moyen simple et flexible de capturer l'entrée de l'utilisateur sans gérer l'état de la valeur dans le composant parent. Nous utiliserons une fonction de rappel pour informer le parent des mises à jour de valeur, ce qui facilite l'intégration avec d'autres composants et API.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL react(("React")) -.-> react/FundamentalsGroup(["Fundamentals"]) react/FundamentalsGroup -.-> react/event_handling("Handling Events") subgraph Lab Skills react/event_handling -.-> lab-38369{{"Champ d'entrée non contrôlé"}} end

Champ d'entrée non contrôlé

index.html et script.js ont déjà été fournis dans la machine virtuelle. En général, vous n'avez qu'à ajouter du code à script.js et style.css.

Ce code affiche un élément <input> non contrôlé qui utilise une fonction de rappel pour informer son parent des mises à jour de valeur. Pour l'utiliser :

  • Passez la valeur initiale depuis le parent en utilisant la propriété defaultValue.
  • Passez une fonction de rappel appelée onValueChange pour gérer les mises à jour de valeur.
  • Utilisez l'événement onChange pour déclencher la fonction de rappel et envoyer la nouvelle valeur au parent.

Voici un exemple :

const UncontrolledInput = ({ defaultValue, onValueChange, ...rest }) => {
  return (
    <input
      defaultValue={defaultValue}
      onChange={({ target: { value } }) => onValueChange(value)}
      {...rest}
    />
  );
};

ReactDOM.createRoot(document.getElementById("root")).render(
  <UncontrolledInput
    type="text"
    placeholder="Insérez du texte ici..."
    onValueChange={console.log}
  />
);

Veuillez cliquer sur 'Go Live' dans le coin inférieur droit pour exécuter le service web sur le port 8080. Ensuite, vous pouvez actualiser l'onglet Web 8080 pour prévisualiser la page web.

Résumé

Félicitations ! Vous avez terminé le laboratoire sur le champ d'entrée non contrôlé. Vous pouvez pratiquer d'autres laboratoires dans LabEx pour améliorer vos compétences.