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?