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...