使用 settimeout 和 setstate 在反应中去抖动

问题描述

这是可接受的代码吗?我已经测试过它并且它有效,但我不知道这是否是好的做法。每次有人在输入中输入内容时,我基本上都会调用数据。但那是太多的 api 调用。所以我做了所谓的“去抖动”,以便在他们停止打字时调用 api。

我想更简单的方法是有一个按钮,这样他们就可以在按下按钮时拨打一个电话。但我正在尝试输入 onchange 方法

class Weather extends React.Component{
state={
    data:[],target:'',timer:null
}
componentDidMount(){
    this.setState({timer:null})
}
handleChange=(e)=>{
    this.setState({
        target: e.target.value
    })
    clearTimeout(this.state.timer);
    this.setState({timer:setTimeout(()=>{
        this.fetch_geocodes()
    },2000)})
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)