通过实例学习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 相关文章推荐
新浪刚打开页面出来的全屏广告代码
Apr 02 Javascript
学习jquery必备 api中英文对照的chm手册 下载
May 03 Javascript
网页图片延时加载的js代码
Apr 22 Javascript
JSP中使用JavaScript动态插入删除输入框实现代码
Jun 13 Javascript
使用JavaScript 编写简单计算器
Nov 24 Javascript
jQuery聚合函数实例
May 21 Javascript
最棒的Angular2表格控件
Aug 10 Javascript
Java  Spring 事务回滚详解
Oct 17 Javascript
jquery请求servlet实现ajax异步请求的示例
Jun 03 jQuery
vue使用iframe嵌入网页的示例代码
Jun 09 Javascript
javascript实现文件拖拽事件
Mar 29 Javascript
Vue2.0学习系列之项目上线的方法步骤(图文)
Sep 25 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 sprintf()函数让你的sql操作更安全
2008/07/23 PHP
php绘制一个矩形的方法
2015/01/24 PHP
js调试工具 Javascript Debug Toolkit 2.0.0版本发布
2008/12/02 Javascript
JQuery上传插件Uploadify使用详解及错误处理
2010/04/27 Javascript
jquery事件机制扩展插件 jquery鼠标右键事件
2011/12/21 Javascript
jquery 动态创建元素的方式介绍及应用
2013/04/21 Javascript
moment.js轻松实现获取当前日期是当年的第几周
2015/02/05 Javascript
js实现单击图片放大图片的方法
2015/02/17 Javascript
JavaScript 浏览器对象模型BOM使用介绍
2015/04/13 Javascript
JQuery复制DOM节点的方法
2015/06/11 Javascript
jQuery实现文本框输入同步的方法
2015/06/20 Javascript
浅谈vue-lazyload实现的详细过程
2017/08/22 Javascript
移动web开发之touch事件实例详解
2018/01/17 Javascript
nodejs爬虫初试superagent和cheerio
2018/03/05 NodeJs
用vue快速开发app的脚手架工具
2018/06/11 Javascript
NodeJS实现同步的方法
2019/03/02 NodeJs
Echarts实现单条折线可拖拽效果
2019/12/19 Javascript
python在多玩图片上下载妹子图的实现代码
2013/08/13 Python
python的Template使用指南
2014/09/11 Python
详解Python中的type()方法的使用
2015/05/21 Python
Pycharm学习教程(4) Python解释器的相关配置
2017/05/03 Python
Python中异常重试的解决方案详解
2017/05/05 Python
使用python的pexpect模块,实现远程免密登录的示例
2019/02/14 Python
在keras里面实现计算f1-score的代码
2020/06/15 Python
python制作一个简单的gui 数据库查询界面
2020/11/19 Python
python 爬虫请求模块requests详解
2020/12/04 Python
python UIAutomator2使用超详细教程
2021/02/19 Python
一款纯css3实现的tab选项卡的实列教程
2014/12/11 HTML / CSS
Pandora西班牙官方商店:PandoraShop.es
2020/10/05 全球购物
《姥姥的剪纸》教学反思
2014/02/25 职场文书
公司活动方案范文
2014/03/06 职场文书
党的群众路线教育实践活动对照检查材料(教师)
2014/09/24 职场文书
2014年单位工作总结范文
2014/11/27 职场文书
上课迟到检讨书
2015/05/06 职场文书
施工安全保证书
2015/05/09 职场文书
2016护理专业求职自荐书
2016/01/28 职场文书