react Material-ui, Comment savoir si je peux utiliser onClick for button?
la liste des propriétés sur le doc n'inclut pas onClick
(http://www.material-ui.com/#/components/icon-button)
Comment savoir si je dois utiliser onClick pour click handler?
3 réponses
Le Matériel de l'INTERFACE utilisateur de la documentation ne permet pas de liste de la norme Réagir (navigateur natif) événements:
https://facebook.github.io/react/docs/events.html#mouse-events
c'est parce qu'on s'attend à ce que vous soyez déjà au courant des événements natifs disponibles. Par exemple, vous pouvez également utiliser onWheel
. Ce serait une liste longue et redondante si tous les événements natifs étaient inclus.
kouak explique, d'autres accessoires (tels que onClick
) sont transmises à un composant enfant.
exemple aléatoire:
<Button color="primary" onClick={() => { console.log('onClick'); }}>
Primary
</Button>
il suffit d'ajouter onClick
les accessoires vous immergent <IconButton />
.
les accessoires qui ne sont pas cités dans le doc sont transmis dans leur<EnhancedButton />
composant qui va gérer onClick
tout simplement parfait.
Voir ici: https://github.com/callemall/material-ui/blob/master/src/IconButton/IconButton.js#L241
Vous pouvez ajouter un wrapper sur le <IconButton/>
pour obtenir l' onClick
événement.
Exemple
render() {
return <div class="font-icon-wrapper" onClick={this.fontIconClick}>
<IconButton iconClassName="muidocs-icon-custom-github" />
</div>
}
Cela devrait fonctionner...