在状态对象上执行暂停操作时反应自动保存

时间:2018-12-12 17:00:21

标签: javascript reactjs

页面上有很多不同的可操作项,它们调用一个名为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中执行此操作的最佳方法是什么。

任何帮助将不胜感激。

0 个答案:

没有答案