私の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