美文网首页前端知识点reactjs知识点
React/Vue中基于lodash库完成防抖、节流功能

React/Vue中基于lodash库完成防抖、节流功能

作者: 懒惰的狮子 | 来源:发表于2023-03-01 07:14 被阅读0次
    1. 安装
    yarn add lodash
    
    1. React使用
    import * as _ from "lodash";
    // 节流 指定一个时间,在这个时间内只执行一次,超过指定时间可再次执行,一般用于发生请求
    // 参数依次是函数,延迟毫秒数, trailing:false 调用在节流前 true节流后
    const handleSubmit = _.throttle(submit, 5000, { 'trailing': false });
    const submit = () => {}
    <div onClick={handleSubmit}>发送</div>
    // 防抖 事件执行时间隔N秒执行,重复执行,清除定时器,直到停止事件执行,N后返回结果,关注最后一次结果 一般用于输入框搜索等
    const handleSearch= _.debounce(onSearch, 5000);
    const onSearch = (e) => { console.log(e) } // 接受参数
    <div onClick={()=>{onSearch (e)}}>发送</div>
    

    3.Vue使用

    <template>
      <div @click="throttledMethod()">发送</div >
      <div @click="debounceMethod()">发送</div >
    </template>
    <script>
    import _ from 'lodash'
    export default {
      methods: {
        throttledMethod: _.throttle(function() {console.log('!') }, 2000); // 节流
        debounceMethod: _.debounce(function() { console.log('!')}, 2000)  // 防抖
      }
    }
    </script>
    

    相关文章

      网友评论

        本文标题:React/Vue中基于lodash库完成防抖、节流功能

        本文链接:https://www.haomeiwen.com/subject/voulldtx.html