通过实例学习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 幻灯片的实现
Dec 06 Javascript
javascript利用控件对windows的操作实现原理与应用
Dec 23 Javascript
JS实现控制表格行内容垂直对齐的方法
Mar 30 Javascript
Jquery-1.9.1源码分析系列(十一)之DOM操作
Nov 25 Javascript
javascript HTML5 canvas实现打砖块游戏
Jun 18 Javascript
详解vue过滤器在v2.0版本用法
Jun 01 Javascript
Vue-路由导航菜单栏的高亮设置方法
Mar 17 Javascript
vue 标签属性数据绑定和拼接的实现方法
May 17 Javascript
微信小程序+腾讯地图开发实现路径规划绘制
May 22 Javascript
详解vue 动态加载并注册组件且通过 render动态创建该组件
May 30 Javascript
Kettle中使用JavaScrip调用jar包对文件内容进行MD5加密的操作方法
Sep 04 Javascript
js前端传json后台接收‘‘被转为quot的问题解决
Nov 12 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上传图片之时间戳命名(保存路径)
2014/08/15 PHP
Laravel 5框架学习之子视图和表单复用
2015/04/09 PHP
thinkPHP5框架auth权限控制类与用法示例
2018/06/12 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
2019/10/10 PHP
几款极品的javascript压缩混淆工具
2007/05/16 Javascript
jquery 简短几句代码实现给元素动态添加及获取提示信息
2011/09/01 Javascript
使用jQuery快速解决input中placeholder值在ie中无法支持的问题
2014/01/02 Javascript
js QQ客服悬浮效果实现代码
2014/12/12 Javascript
javascript 闭包详解
2015/07/02 Javascript
JS上传组件FileUpload自定义模板的使用方法
2016/05/10 Javascript
jQuery插件pagination实现无刷新分页
2016/05/21 Javascript
详解Sea.js中Module.exports和exports的区别
2017/02/12 Javascript
JS实现的点击按钮图片上下滚动效果示例
2019/01/28 Javascript
vue 详情跳转至列表页实现列表页缓存
2019/03/27 Javascript
微信小程序日历插件代码实例
2019/12/04 Javascript
在SAE上部署Python的Django框架的一些问题汇总
2015/05/30 Python
用Python写飞机大战游戏之pygame入门(4):获取鼠标的位置及运动
2015/11/05 Python
打包发布Python模块的方法详解
2016/09/18 Python
Python3实现简单可学习的手写体识别(实例讲解)
2017/10/21 Python
Python中super函数的用法
2017/11/17 Python
python opencv实现图片旋转矩形分割
2018/07/26 Python
django框架之cookie/session的使用示例(小结)
2018/10/15 Python
python 处理string到hex脚本的方法
2018/10/26 Python
python实现电子产品商店
2019/02/26 Python
详解Python中的测试工具
2019/06/09 Python
django ORM之values和annotate使用详解
2020/05/19 Python
python中如何写类
2020/06/29 Python
美国生鲜及杂货电商:FreshDirect
2018/01/29 全球购物
施工安全承诺书
2014/05/22 职场文书
物业总经理助理岗位职责
2014/06/29 职场文书
2015年食品安全工作总结
2015/05/15 职场文书
嘉年华活动新闻稿
2015/07/17 职场文书
Matlab求解数组中的最大值及它所在的具体位置
2021/04/16 Python
react使用antd的上传组件实现文件表单一起提交功能(完整代码)
2021/06/29 Javascript
国际最新研究在陨石中发现DNA主要成分 或由陨石带来地球
2022/04/29 数码科技
总结三种用 Python 作为小程序后端的方式
2022/05/02 Python