Ich bin neu bei der Verwendung von ES6-Klassen mit React, zuvor habe ich meine Methoden an das aktuelle Objekt gebunden (siehe erstes Beispiel), aber erlaubt es ES6, eine Klassenfunktion dauerhaft an eine Klasseninstanz mit Pfeilen zu binden? (Nützlich, wenn man vorbei als Callback-Funktion.) Bekomme ich Fehler, wenn ich versuche sich, wie Sie mit Coffeescript nutzen können:Wie werden Pfeilfunktionen (öffentliche Klassenfelder) als Klassenmethoden verwendet?
class SomeClass extends React.Component {
// Instead of this
constructor(){
this.handleInputChange = this.handleInputChange.bind(this)
}
// Can I somehow do this? Am i just getting the syntax wrong?
handleInputChange (val) => {
console.log('selectionMade: ', val);
}
Also, wenn ich bin SomeClass.handleInputChange
passieren, zum Beispiel setTimeout
, wäre es scoped werden zu der Klasseninstanz und nicht das Objekt window
.
ich interessiert wäre, die gleiche Antwort für ** Typoskript zu wissen ** –
Typoskript-Lösung ist die gleiche wie die ES7 Vorschlag (siehe [ akzeptierte Antwort] (http://stackoverflow.com/a/31362350/619602)). Dies wird nativ von TypeScript unterstützt. –