zl程序教程

您现在的位置是:首页 >  前端

当前栏目

react--防抖

React -- 防抖
2023-09-27 14:26:50 时间

  • 微信扫码关注公众号 :前端前端大前端,追求更精致的阅读体验 ,一起来学习啊
  • 关注后发送关键资料,免费获取一整套前端系统学习资料和老男孩python系列课程
    在这里插入图片描述

学习资源推荐

import React from 'react'
export default class BasicInput extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
            value: ""
        }
        this.handleLog=this.preventShake(this.handleLog);// 

    }

    preventShake = (fn, value) => {
        let timer = null; // 创建定时器id
        return () => {
            clearTimeout(timer); // input事件频繁触发,清除之前定时器 
            timer = setTimeout(() => { // 创建新定时器,保证限定时间间隔fn只执行一次
                fn(value);
            }, 2000);
        };
    }

    onChange = (e) => {


     this.handleLog()
        this.setState({
            value: e.target.value
        })
    }

    handleLog=()=>{
    
       console.log(123)
    }
 

    render() {
        return (
            <input placeholder='请输入...'
                value={this.state.value}
                onChange={this.onChange} />
        )
    }
}