Dynamique de l'attribut tabIndex dans JSX + Réagir
Comment définir l'attribut tabIndex sur une Réagir la composante conditionnelle de la même manière, disent les "personnes handicapées" attribut est défini?
J'ai besoin d'être en mesure de créer de la valeur et/ou de supprimer l'attribut de tous ensemble.
Premier essai était de faire de l'ensemble de l'attribut de la clé et de la valeur d'une variable:
<div { tabIndex } ></div>
mais le compilateur se plaint.
Deuxième pensée a été:
const div;
if( condition ){
div = <div tabIndex="1"></div>
}else{
div = <div></div>
}
Cependant, ce n'est pas souhaitable puisque mes composants réels ont des tonnes d'attributs sur eux et je finirais par avoir de grandes quantités de code dupliqué.
Mon seul autre pensée a été d'utiliser un ref, puis utiliser jQuery pour définir les attributs tabindex, mais je préfère ne pas avoir à le faire de cette façon.
Des Idées?
OriginalL'auteur Jesse Lee | 2016-04-09
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le faire en utilisant le attribut de la propagation de l'opérateur:
Ce qui est excellent pour la vérification des cases à cocher, aussi!
OriginalL'auteur Aaron Beall
Je crois qu'il existe un moyen plus simple (que Aaron est une suggestion).
Réagir supprime un attribut d'une JSX élément si cet attribut a la valeur null ou undefined. J'avais besoin de cela pour être confirmé par quelqu'un qui sait pour sûr.
Vous pouvez donc l'utiliser quelque chose comme ceci:
let t1 = état ? 1 : null;
laissez div = <div tabIndex={t1}>...</div>;
La
tabIndex
attribut sera supprimé sit1
est null.OriginalL'auteur