Comment accéder à des données d'attributs de l'objet événement
var Hello = React.createClass({
handleClick(event){
console.log('target info', event.currentTarget);
console.log('event info', event);
var sortOrder = event.currentTarget.sortorder;
console.log('sortOrder: ', sortOrder);
alert(sortOrder);//Should say "asc"
},
render: function() {
return <div style={{backgroundColor: "red", fontSize: '5em'}} data-sortorder="asc" onClick={this.handleClick}>Click Here Please</div>;
}
});
ReactDOM.render(
<Hello name="World" />,
document.getElementById('container')
);
Résultat attendu: asc
Réel: undefined
Double Possible de "Accès aux données" attribut sans jQuery
Cela ne semble pas avoir quoi que ce soit à voir avec Réagir, plutôt avec le manque de compréhension de la façon dont
Eh bien, il a la même API que la normale objet d'événement et
Cela ne semble pas avoir quoi que ce soit à voir avec Réagir, plutôt avec le manque de compréhension de la façon dont
data-
attributs travail.event
est un SyntheticEvent droit? N'avez-vous pas besoin de comprendre comment naviguer SyntheticEvent
?Eh bien, il a la même API que la normale objet d'événement et
event.currentTarget
est un simple vieux élément du DOM.
OriginalL'auteur P.Brian.Mackey | 2016-06-20
Vous devez vous connecter pour publier un commentaire.
J'ai mis à jour votre violon:
J'ai été capable de le faire tout en faisant référence à "getAttribute"
c'est avec refs
https://jsfiddle.net/69z2wepo/46265/
Ce faire:-
changer votre élément, par l'ajout d'un "ref" attribut.
Obtient alors que l'attribut de la sorte:
this.refs.tester.getAttribute("data-sortorder")
OU PAR REQUÊTE ORIGINALE, w/o RÉF:
event.target.getAttribute("data-sortorder");
event.target.getAttribute("data-sortorder");
est ce que je voulais. Nous étions heureux de pouvoir le faire sans refs :). Je vais faire une fois le temps écoulé.Pourquoi est une référence de mieux que d'utiliser le
event
objet?OriginalL'auteur james emanon