Angenommen, ich eine Funktion generateList()
haben, die den Zustand aktualisiert und Abbilden es zu einem onClick zu einem <li>.
Differenz von .bind() Pfeil function() = Nutzung> in Reaktion
<li className="some-classname"}
onClick={this.generateList('product')}> Product </li>
Es gibt Zeiten, dass ich begegne Fehler wie:
Warning: setState(...): Cannot update during an existing state transition (such as within
). Render methods should be a pure function of props...
Und so machen. Ich verminten im Internet nach Antworten auf diese und kam auf solche answer wie:
<li className="some-classname"}
onClick={this.generateList.bind(this, 'product')}> Product </li>
Aber ich sah eine Antwort zu (in Github, aber kann nicht scheinen, um es zu finden), dass
<li className="some-classname"}
onClick={() => this.generateList('product')}> Product </li>
Was ist der Hauptunterschied? Was ist passender und effizienter? Und warum sollten wir solche .bind
und () =>
beim Mapping einer Funktion zu einem onClick
oder als eine Eigenschaft einer React-Komponente (die ich meistens verwende) verwenden?
Hey, ich habe einen Fehler hatte, sorry. Es sollte '() => this.generateList ('product')}' sein. – anobilisgorse
aktualisiert - hat es die Dinge für Sie aufgeräumt? –
Ja, so weit ich mich mit der Performance beschäftige, muss ich immer entscheiden, die Funktion beim Konstruktor zu "binden", dann kann ich sie innerhalb des 'render's verwenden. – anobilisgorse