通过实例学习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 相关文章推荐
js下用eval生成JSON对象
Sep 17 Javascript
js弹出确认是否删除对话框
Mar 27 Javascript
js中常用的Tab切换效果(推荐)
Aug 30 Javascript
利用express启动一个server服务的方法
Sep 17 Javascript
vue.js的computed,filter,get,set的用法及区别详解
Mar 08 Javascript
angularjs $http调用接口的方式详解
Aug 13 Javascript
jQuery轮播图实例详解
Aug 15 jQuery
vue根据进入的路由进行原路返回的方法
Sep 26 Javascript
spring+angular实现导出excel的实现代码
Feb 27 Javascript
微信小程序自定义组件实现环形进度条
Nov 17 Javascript
jQuery实现开关灯效果
Aug 02 jQuery
JavaScript小技巧带你提升你的代码技能
Sep 15 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
2006/12/23 PHP
php用户注册页面利用js进行表单验证具体实例
2013/10/17 PHP
mantis安装、配置和使用中的问题小结
2014/07/14 PHP
CI框架常用方法小结
2016/05/17 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
PHP判断是否是微信打开,浏览器打开的方法
2018/03/14 PHP
我见过最全的个人js加解密功能页面
2007/12/12 Javascript
javascript css在IE和Firefox中区别分析
2009/02/18 Javascript
通过身份证号得到出生日期和性别的js代码
2009/11/23 Javascript
jquery弹出框的用法示例(一)
2013/08/26 Javascript
js onload处理html页面加载之后的事件
2013/10/30 Javascript
JavaScript实现关键字高亮功能
2014/11/12 Javascript
jquery插件之文字间歇自动向上滚动效果代码
2016/02/25 Javascript
基于javascript实现简单的抽奖系统
2020/04/15 Javascript
JS代码实现根据时间变换页面背景效果
2016/06/16 Javascript
Vue.js快速入门教程
2016/09/07 Javascript
javascript动画之磁性吸附效果篇
2016/12/09 Javascript
实例分析JS与Node.js中的事件循环
2017/12/12 Javascript
解决修复npm安装全局模块权限的问题
2018/05/17 Javascript
vue中使用微信公众号js-sdk踩坑记录
2019/03/29 Javascript
判断文字超过2行添加展开按钮,未超过则不显示,溢出部分显示省略号
2019/04/28 Javascript
微信小程序转发事件实现解析
2019/10/22 Javascript
微信小程序自定义modal弹窗组件的方法详解
2020/12/20 Javascript
[46:47]2014 DOTA2国际邀请赛中国区预选赛 DT VS HGT
2014/05/22 DOTA
[52:52]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第三局
2016/02/27 DOTA
Python程序设计入门(3)数组的使用
2014/06/16 Python
在Python的Flask框架下收发电子邮件的教程
2015/04/21 Python
Python 字典与字符串的互转实例
2017/01/13 Python
python实现二叉树的遍历
2017/12/11 Python
Python matplotlib画图与中文设置操作实例分析
2019/04/23 Python
教师自我评价范例
2013/09/24 职场文书
应届生高等护理求职信
2013/10/12 职场文书
生日寿宴答谢词
2014/01/19 职场文书
天地会口号
2014/06/17 职场文书
公司法定代表人授权委托书
2014/09/29 职场文书
python处理json数据文件
2022/04/11 Python