通过实例学习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 相关文章推荐
IE6下JS动态设置图片src地址问题
Jan 08 Javascript
javascript window.opener的用法分析
Apr 07 Javascript
在图片上显示左右箭头类似翻页的代码
Mar 04 Javascript
JS限制Textarea文本域字符个数的具体实现
Aug 02 Javascript
jquery 取子节点及当前节点属性值的方法
Aug 24 Javascript
jQuery菜单插件用法实例
Jul 25 Javascript
jquery可定制的在线UEditor编辑器
Nov 17 Javascript
js小数计算小数点后显示多位小数的实现方法
May 30 Javascript
微信公众号生成新浪短网址的实现(快速生成)
Aug 18 Javascript
vue项目使用.env文件配置全局环境变量的方法
Oct 24 Javascript
简单了解three.js 着色器材质
Aug 03 Javascript
详解Vite的新体验
Feb 22 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+mysql实现无限级分类 | 树型显示分类关系
2006/11/19 PHP
php 过滤器实现代码
2010/08/09 PHP
php读取文件内容的几种方法详解
2013/06/26 PHP
php实现文件下载功能的几个代码分享
2014/05/10 PHP
ThinkPHP多表联合查询的常用方法
2020/03/24 PHP
详谈PHP面向对象中常用的关键字和魔术方法
2017/02/04 PHP
快速保存网页中所有图片的方法
2006/06/23 Javascript
用jquery方法操作radio使其默认选项是否
2013/09/10 Javascript
基于javascript滚动图片具体实现
2013/11/18 Javascript
JavaScript简单实现鼠标拖动选择功能
2014/03/06 Javascript
JavaScript插件化开发教程 (二)
2015/01/27 Javascript
nodejs实现获取当前url地址及url各种参数值
2015/06/25 NodeJs
js实现文本框宽度自适应文本宽度的方法
2015/08/13 Javascript
jQuery javascript获得网页的高度与宽度的实现代码
2016/04/26 Javascript
浅析BootStrap Treeview的简单使用
2016/10/12 Javascript
nodejs实现连接mongodb数据库的方法示例
2018/03/15 NodeJs
js Element Traversal规范中的元素遍历方法
2018/04/19 Javascript
详解Vue中数组和对象更改后视图不刷新的问题
2018/09/21 Javascript
vue集成百度UEditor富文本编辑器使用教程
2018/09/21 Javascript
小程序获取当前位置加搜索附近热门小区及商区的方法
2019/04/08 Javascript
JavaScript实现单英文金山打字通
2020/07/24 Javascript
python实现简易内存监控
2018/06/21 Python
python输出电脑上所有的串口名的方法
2019/07/02 Python
Python爬虫使用浏览器cookies:browsercookie过程解析
2019/10/22 Python
python发qq消息轰炸虐狗好友思路详解(完整代码)
2020/02/15 Python
windows10 pycharm下安装pyltp库和加载模型实现语义角色标注的示例代码
2020/05/07 Python
Python3爬虫中Ajax的用法
2020/07/10 Python
HTML5 embed标签定义和用法详解
2014/05/09 HTML / CSS
机械绘图员岗位职责
2013/11/19 职场文书
挂职自我鉴定
2014/02/26 职场文书
奠基仪式主持词
2014/03/20 职场文书
美容院经理岗位职责
2014/04/03 职场文书
村班子对照检查材料
2014/08/18 职场文书
群众路线教育实践活动批评与自我批评
2014/09/15 职场文书
大学生就业指导课心得体会
2016/01/15 职场文书
SQL bool盲注和时间盲注详解
2022/07/23 SQL Server