J'ai ce code Je me demandais si je peux refacteur p> à p> Si oui, pourquoi ou pourquoi pas? Je viens de le voir quelque part être fait de cette façon p> Je ne sais pas si je peux l'appliquer à mon code. P> p>
3 Réponses :
Définissez simplement votre fonction comme ci-dessous. p>
dropdownupdate = (événement) => { .... } p>
Il n'aurai pas besoin de se lier dans le constructeur p>
Cela ne fonctionne que si vous utilisez le plugin code> Babel Propriétés Code> Babel (qui est livré avec Create-React-App)
Puisque DropdownUpdate est une fonction de flèche, elle devrait fonctionner comme prévu sans p>
dans les fonctions de la flèche, valeur de this.dropdowpdate = ceci.dropdowpdate; code> ou p>
this.dropdowpdate = this.dropdowpdate.bind (this); code> p>
Ceci code> est lexiquement lié, contrairement aux fonctions régulières dans lesquelles la valeur de est modifiée sur le contexte dans lequel la fonction est appelée. p>
Voir ceci: Stackoverflow.com/Questtions/43600967/...
Merci d'avoir mentionné! @ user1176111 Faites le paiement des avantages et des inconvénients de chacun.
Une chose à conscience est que lorsque vous écrivez:
class BottomPanel extends React.Component<Props, {}> {
dropDownUpdate = e => this.setState({ dropDownValue: e.currentTarget.textContent });
}
L'as tu essayé?
Yup, je pense que jusqu'à présent, ça marche. Mais je ne veux pas vraiment l'utiliser à moins que je comprenne pourquoi.
ne fonctionne pas la même chose sans le
ceci.dropdowpdate = this.dropdowpdate.bind (this); code> ligne?