Que sont les composants contrôlés et les composants non contrôlés dans ReactJS? En quoi diffèrent-ils les uns des autres?
102
Que sont les composants contrôlés et les composants non contrôlés dans ReactJS? En quoi diffèrent-ils les uns des autres?
Réponses:
Cela concerne les composants DOM avec état (éléments de formulaire) et les documents React expliquent la différence:
props
et notifie les modifications via des rappels commeonChange
. Un composant parent le «contrôle» en gérant le rappel, en gérant son propre état et en passant les nouvelles valeurs comme accessoires au composant contrôlé. Vous pouvez également appeler cela un "composant stupide".ref
pour trouver sa valeur actuelle lorsque vous en avez besoin. Cela ressemble un peu plus au HTML traditionnel.La plupart des composants de formulaire React natifs prennent en charge une utilisation contrôlée et non contrôlée:
Dans la plupart (ou tous) des cas, vous devez utiliser des composants contrôlés .
la source
state
plutôt queprops
?props
. Un composant incontrôlé utiliseraitstate
pour contrôler la valeur elle-même en interne. C'est la principale différence.controlled components
(<input type="text" value="value" onChange={handleChangeCallbackFn} />
) par rapport au HTML traditionnel où un élément d'entrée gère sa propre valeur et peut être lu viarefs
appeléuncontrolled components
(<value type="text" />
). Les composants contrôlés gèrent leur propre état viasetState
ou l'obtiennent de leur composant parent comme accessoires.defaultValue
par des accessoires, mais qui avertit le contrôleuronBlur
?<Button onClick={() => console.log("clicked")}>Click</Button>
.la source