在我的React組件中,我有一個按鈕意味着點擊時通過AJAX發送一些數據。我只需要第一次發生,即在第一次使用後禁用按鈕。ReactJs:防止多次按下按鈕
如何我試圖做到這一點:
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
沒有更新向右走,該文檔做出反應說,預計。
我該如何強制執行按鈕才能禁用或在被點擊的瞬間全部離開?
這讓我走了一半,但做出反應小組已棄用給裁判一個字符串值,而是與它一起使用回調:https://reactjs.org/docs/refs-and-the-dom.html – Martin