warum brauchen Sie, um zu binden, eine Funktion in einen Konstruktor

Ich habe eine Frage relavent zu diesem code: https://github.com/reactjs/redux/blob/master/examples/async/containers/App.js

speziell:

  constructor(props) {
    super(props)
    this.handleChange = this.handleChange.bind(this)
    this.handleRefreshClick = this.handleRefreshClick.bind(this)
  }

Ich denke, es ist eine 2-teilige Frage.

  1. Warum ich brauche, um mit Veränderungen umzugehen, als eine Instanz der Klasse this.handleChange =, kann ich nicht einfach mit statischen Funktionen für handleChange und rufen Sie Sie direkt mit in die Klasse onClick={handleRefreshClick}> ?
  2. Ich habe keine Ahnung, was ist denn hier Los: this.handleRefreshClick.bind(this)

Dank

  • Mögliche Duplikate von die Verwendung von JavaScript 'bind' - Methode
  • nicht genau, ich habe nicht ganz verstehen, im Kontext einer Klasse, besonders Nummer 2
  • Es ändert nicht den Sinn des bind. Verwenden Sie bind zu halten den Umfang der this. In den Kontext reagieren, diese können Sie aufrufen, Dinge wie this.setState etc.
InformationsquelleAutor Saad | 2016-07-12
Schreibe einen Kommentar