通过实例学习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 相关文章推荐
jquery全选/全不选/反选另一种实现方法(配合原生js)
Apr 07 Javascript
Jquery 模板数据绑定插件的使用方法详解
Jul 08 Javascript
Bootstrap表单组件教程详解
Apr 26 Javascript
Bootstrap作品展示站点实战项目2
Oct 14 Javascript
Javascript 引擎工作机制详解
Nov 30 Javascript
angularJS 指令封装回到顶部示例详解
Jan 22 Javascript
SelectPage v2.4 发布新增纯下拉列表和关闭分页功能
Sep 07 Javascript
基于vue监听滚动事件实现锚点链接平滑滚动的方法
Jan 17 Javascript
vue如何通过id从列表页跳转到对应的详情页
May 01 Javascript
微信小程序实现天气预报功能
Jul 18 Javascript
JavaScript栈和队列相关操作与实现方法详解
Dec 07 Javascript
Layer UI表格列日期格式化及取消自动填充日期的实现方法
May 10 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判断图片格式的七种方法小结
2013/06/03 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
2014/06/23 PHP
PHP中UNIX时间戳和日期间的转换与计算实例
2014/11/19 PHP
Codeigniter检测表单post数据的方法
2015/03/21 PHP
JavaScript 入门·JavaScript 具有全范围的运算符
2007/10/01 Javascript
Js四则运算函数代码
2012/07/21 Javascript
很好用的js日历算法详细代码
2013/03/07 Javascript
js 得到文件后缀(通过正则实现)
2013/07/08 Javascript
捕获和分析JavaScript Error的方法
2014/03/25 Javascript
Javascript控制input输入时间格式的方法
2015/01/28 Javascript
jQuery实现的模拟弹出窗口功能示例
2016/11/24 Javascript
js实现简单的获取验证码按钮效果
2017/03/03 Javascript
jQuery实现table表格信息的展开和缩小功能示例
2018/07/21 jQuery
原生JavaScript实现刮刮乐
2020/09/29 Javascript
python中去空格函数的用法
2014/08/21 Python
Python中if __name__ == &quot;__main__&quot;详细解释
2014/10/21 Python
一篇文章读懂Python赋值与拷贝
2018/04/19 Python
Sanic框架安装与简单入门示例
2018/07/16 Python
python使用ddt过程中遇到的问题及解决方案【推荐】
2018/10/29 Python
Python爬虫将爬取的图片写入world文档的方法
2018/11/07 Python
python爬虫 基于requests模块的get请求实现详解
2019/08/20 Python
python中class的定义及使用教程
2019/09/18 Python
python实现自动化报表功能(Oracle/plsql/Excel/多线程)
2019/12/02 Python
python实现录屏功能(亲测好用)
2020/03/02 Python
JAVA SWT事件四种写法实例解析
2020/06/05 Python
Python实现定时监测网站运行状态的示例代码
2020/09/30 Python
基于python实现坦克大战游戏
2020/10/27 Python
婚鞋、新娘鞋、礼服鞋、童鞋:Nina Shoes
2019/09/04 全球购物
《灯光》教学反思
2014/02/08 职场文书
医生党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
关于运动会广播稿50字
2014/10/18 职场文书
员工辞职信怎么写
2015/02/27 职场文书
爱国之歌(8首)
2019/09/29 职场文书
Python基础之常用库常用方法整理
2021/04/30 Python
nginx从安装到配置详细说明(安装,安全配置,防盗链,动静分离,配置 HTTPS,性能优化)
2022/02/12 Servers
Python实现科学占卜 让视频自动打码
2022/04/09 Python