通过实例学习React中事件节流防抖


Posted in Javascript onJune 17, 2019

节流

方法一

import Throttle from 'lodash-decorators/throttle';
export default class Search extends Component {
constructor(props) {
super(props)
this.handleSearch = this.handleSearch.bind(this);
}
handleSubmit = (e) => {
e.preventDefault();
this.handleSearch();
}
@Throttle(300)
handleSearch() {
...
}
render() {
return (
<form onSubmit={this.handleSubmit}><form>
)
}
}

方法二

import throttle from 'lodash/throttle';
export default class Search extends Component {
constructor(props) {
super(props)
this.handleSearch = throttle(this.handleSearch, 1000);
}
handleSubmit = (e) => {
e.preventDefault();
this.handleSearch();
}
handleSearch = () => {
...
}
render() {
return (
<form onSubmit={this.handleSubmit}><form>
)
}
}

防抖

写法类似。。。

区别

debounce 和 throttle 各有特点,在不同的场景要根据需求合理的选择。如果事件触发是高频但是有停顿时,可以选择debounce;在事件连续不断高频触发时,只能选择 throttle ,因为 debounce 可能会导致一段时间内动作只被执行一次,界面出现闪烁。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
动态改变textbox的宽高的js
Oct 26 Javascript
AeroWindow 基于JQuery的弹出窗口插件
Jun 27 Javascript
javascript自适应宽度的瀑布流实现思路
Feb 20 Javascript
node.js中的fs.unlinkSync方法使用说明
Dec 15 Javascript
Jquery全屏相册插件zoomvisualizer具有调节放大与缩小功能
Nov 02 Javascript
基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)
Dec 28 Javascript
JS实现title标题栏文字不间断滚动显示效果
Sep 07 Javascript
JavaScript实现简单的日历效果
Sep 25 Javascript
jQuery实现为动态添加的元素绑定事件实例分析
Sep 07 jQuery
修改vue源码实现动态路由缓存的方法
Jan 21 Javascript
js 执行上下文和作用域的相关总结
Feb 08 Javascript
ztree+ajax实现文件树下载功能
May 18 Javascript
如何解决js函数防抖、节流出现的问题
Jun 17 #Javascript
使用imba.io框架得到比 vue 快50倍的性能基准
Jun 17 #Javascript
通过js给网页加上水印背景实例
Jun 17 #Javascript
JavaScript 扩展运算符用法实例小结【基于ES6】
Jun 17 #Javascript
通过实例解析js简易模块加载器
Jun 17 #Javascript
如何从头实现一个node.js的koa框架
Jun 17 #Javascript
javascript定时器的简单应用示例【控制方块移动】
Jun 17 #Javascript
You might like
php中用加号与用array_merge合并数组的区别深入分析
2013/06/03 PHP
如何解决phpmyadmin导入数据库文件最大限制2048KB
2015/10/09 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
2018/06/22 PHP
PHP编程一定要改掉的5个不良习惯
2020/09/18 PHP
javascript学习笔记(五)正则表达式
2011/04/08 Javascript
深入理解javascript动态插入技术
2013/11/12 Javascript
JS动态添加与删除select中的Option对象(示例代码)
2013/12/25 Javascript
javascript中兼容主流浏览器的动态生成iframe方法
2014/05/05 Javascript
jQuery实现视频作为全屏幕背景
2014/12/18 Javascript
javascript中去除数组重复元素的实现方法【实例】
2016/04/12 Javascript
微信小程序实战之顶部导航栏(选项卡)(1)
2020/06/19 Javascript
jQuery进阶实践之利用最优雅的方式如何写ajax请求
2017/12/20 jQuery
node+koa2+mysql+bootstrap搭建一个前端论坛
2018/05/06 Javascript
了解javascript中的Dom操作
2019/05/27 Javascript
jquery.tagsinput.js实现记录checkbox勾选的顺序
2019/09/21 jQuery
vue+element导航栏高亮显示的解决方式
2019/11/12 Javascript
vue使用openlayers实现移动点动画
2020/09/24 Javascript
[02:59]2014DOTA2西雅图国际邀请赛 圆满落幕中国夺冠
2014/07/23 DOTA
使用 Python 获取 Linux 系统信息的代码
2014/07/13 Python
十个Python程序员易犯的错误
2015/12/15 Python
对python3 sort sorted 函数的应用详解
2019/06/27 Python
Python 实现简单的客户端认证
2020/07/29 Python
python爬虫看看虎牙女主播中谁最“顶”步骤详解
2020/12/01 Python
Python实现中英文全文搜索的示例
2020/12/04 Python
Viking Direct荷兰:购买办公用品
2019/06/20 全球购物
StubHub澳大利亚:购买或出售您的门票
2019/08/01 全球购物
毕业生在校学习的自我评价分享
2013/10/08 职场文书
社区优秀志愿者材料
2014/02/02 职场文书
人力资源经理的岗位职责范本
2014/02/28 职场文书
实验室标语
2014/06/21 职场文书
本科毕业生应聘求职信
2014/07/06 职场文书
2016大学生就业指导课心得体会
2016/01/15 职场文书
七年级作文之《我和我的祖国》观后感作文
2019/10/18 职场文书
浅谈Redis存储数据类型及存取值方法
2021/05/08 Redis
python使用matplotlib绘制图片时x轴的刻度处理
2021/08/30 Python
通过feDisplacementMap和feImage实现水波特效
2022/04/24 HTML / CSS