web-dev-qa-db-fra.com

erreur TS2339: la propriété «pour» n'existe pas sur le type «HTMLProps <HTMLLabelElement>»

En utilisant TypeScript et en réagissant avec les fichiers TSX avec des définitions de type définitivement saisies, je reçois l'erreur:

error TS2339: Property 'for' does not exist on type 'HTMLProps<HTMLLabelElement>'.

Lorsque vous essayez de compiler un composant avec le TSX suivant

<label for={this.props.inputId} className="input-label">{this.props.label}</label>

J'ai déjà résolu, mais en ajoutant ici pour la prochaine personne, car la solution n'apparaissait nulle part lors de la recherche (Google ou StackOverflow)

43
Matthew Beatty

La solution consistait à remplacer l'attribut for par htmlFor

<label htmlFor={this.props.inputId} className="input-label">{this.props.label}</label>

Ceci fait partie de la bibliothèque React elle-même qui gère apparemment for différemment comme elle le fait class (elle utilise className) et non un problème avec les définitions de type définitivement typées.

84
Matthew Beatty