ReactJs: Mehrfaches Drücken von @ verhinde

In meiner React-Komponente gibt es eine Schaltfläche, mit der beim Klicken Daten über AJAX gesendet werden können. Ich muss nur beim ersten Mal vorkommen, d. H., Um die Schaltfläche nach der ersten Verwendung zu deaktivieren.

Wie versuche ich das zu tun:

var UploadArea = React.createClass({

  getInitialState() {
    return {
      showUploadButton: true
    };
  },

  disableUploadButton(callback) {
    this.setState({ showUploadButton: false }, callback);
  },

  // This was simpler before I started trying everything I could think of
  onClickUploadFile() {
    if (!this.state.showUploadButton) {
      return;
    }
    this.disableUploadButton(function() {
      $.ajax({
        [...]
      });

    });
  },

  render() {
    var uploadButton;
    if (this.state.showUploadButton) {
      uploadButton = (
        <button onClick={this.onClickUploadFile}>Send</button>
      );
    }

    return (
      <div>
        {uploadButton}
      </div>
    );
  }

});

as meiner Meinung nach passiert, ist die ZustandsvariableshowUploadButton wird nicht sofort aktualisiert, was nach Angaben der React-Dokumentation erwartet wird.

Wie kann ich die Deaktivierung der Schaltfläche erzwingen oder sie in dem Moment, in dem darauf geklickt wird, vollständig deaktivieren?

Antworten auf die Frage(10)

Ihre Antwort auf die Frage