-1
votes

Le refactoring réagit cette liaison

J'ai ce code xxx

Je me demandais si je peux refacteur xxx

à xxx < / Pré>

Si oui, pourquoi ou pourquoi pas? Je viens de le voir quelque part être fait de cette façon xxx

Je ne sais pas si je peux l'appliquer à mon code.


3 commentaires

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); ligne?


3 Réponses :


0
votes

Définissez simplement votre fonction comme ci-dessous.

dropdownupdate = (événement) => { .... }

Il n'aurai pas besoin de se lier dans le constructeur


1 commentaires

Cela ne fonctionne que si vous utilisez le plugin Babel Propriétés Babel (qui est livré avec Create-React-App)



1
votes

Puisque DropdownUpdate est une fonction de flèche, elle devrait fonctionner comme prévu sans

this.dropdowpdate = ceci.dropdowpdate; ou

this.dropdowpdate = this.dropdowpdate.bind (this);

dans les fonctions de la flèche, valeur de Ceci 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.


2 commentaires

Voir ceci: Stackoverflow.com/Questtions/43600967/...


Merci d'avoir mentionné! @ user1176111 Faites le paiement des avantages et des inconvénients de chacun.



2
votes

Une chose à conscience est que lorsque vous écrivez:

class BottomPanel extends React.Component<Props, {}> {
  dropDownUpdate = e => this.setState({ dropDownValue: e.currentTarget.textContent });
}


0 commentaires