В моем компоненте React у меня есть кнопка, предназначенная для отправки некоторых данных через AJAX при нажатии. Мне нужно только в первый раз, т.е. Отключить кнопку после ее первого использования.
Как я пытаюсь это сделать:
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>
);
}
});
Я думаю, что переменная состояния showUploadButton
не обновляется сразу, о чем говорит React docs.
Как я могу заставить кнопку отключиться или уйти вместе во время клика?