页面上有很多不同的可操作项,它们调用一个名为saveDocument()
的函数。在此函数中,我只有一个PATCH fetch()
函数,可将数据发送到服务器端点。
<button onClick={() => {
var data = this.state.data;
data.someBoolean = !data.someBoolean;
this.setState({data: data});
//save new data
this.saveDocument(data);
}}>Click Me</button>
<input value={this.state.data.value} onChange={(data) => {
var data = this.state.data;
data.value = data.target.value;
this.setState({data: data});
//save new data
this.saveDocument(data);
} } />
我正在尝试找出一种解决方案,仅在特定时间不活动后才保存。 IE:有人停止编辑this.state.data
后2秒。或键入或单击等后2秒。
我不想为输入的每个字符发送数百个请求,但是当有人做一些会影响我的数据的事情时,我也不想错过任何更改。
我知道我曾经在jQuery中使用debounce来执行此操作,但是不确定在React中执行此操作的最佳方法是什么。
任何帮助将不胜感激。