通过实例学习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 相关文章推荐
Visual Studio中的jQuery智能提示设置方法
Mar 27 Javascript
javascript中的变量是传值还是传址的?
Apr 19 Javascript
jquery实现微博文字输入框 输入时显示输入字数 效果实现
Jul 12 Javascript
Javascript学习笔记之 对象篇(一) : 对象的使用和属性
Jun 24 Javascript
原生js实现复制对象、扩展对象 类似jquery中的extend()方法
Aug 30 Javascript
JavaScript生成随机字符串的方法
Mar 19 Javascript
Vue.js原理分析之observer模块详解
Feb 17 Javascript
浅谈Node.js轻量级Web框架Express4.x使用指南
May 03 Javascript
protractor的安装与基本使用教程
Jul 07 Javascript
如何用Node写页面爬虫的工具集
Oct 26 Javascript
微信小程序之滑动页面隐藏和显示组件功能的实现代码
Jun 19 Javascript
JS PHP字符串截取函数实现原理解析
Aug 29 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下过滤HTML代码的函数
2007/12/10 PHP
PHP新手入门学习方法
2011/05/08 PHP
PHP中UNIX时间戳和日期间的转换与计算实例
2014/11/19 PHP
实现PHP+Mysql无限分类的方法汇总
2015/03/02 PHP
php实现姓名根据首字母排序的类与方法(实例代码)
2018/05/16 PHP
Laravel如何同时连接多个数据库详解
2019/08/13 PHP
ThinkPHP 框架实现的读取excel导入数据库操作示例
2020/04/14 PHP
关于Aptana Studio生成自动备份文件的解决办法
2009/12/23 Javascript
基于jquery实现的可以编辑选择的下拉框的代码
2010/11/19 Javascript
jquery append()方法与html()方法的区别及使用介绍
2014/08/01 Javascript
Js实现网页键盘控制翻页的方法
2014/10/30 Javascript
jQuery trigger()方法用法介绍
2015/01/13 Javascript
jQuery搜索同辈元素方法
2015/02/10 Javascript
JavaScript控制图片加载完成后调用回调函数的方法
2015/03/20 Javascript
JS实现“隐藏与显示”功能(多种方法)
2016/11/24 Javascript
javascript-解决mongoose数据查询的异步操作
2016/12/22 Javascript
jqGrid翻页时数据选中丢失问题的解决办法
2017/02/13 Javascript
对angularJs中ng-style动态改变样式的实例讲解
2018/09/30 Javascript
Vue清除定时器setInterval优化方案分享
2020/07/21 Javascript
在Python下利用OpenCV来旋转图像的教程
2015/04/16 Python
python中查看变量内存地址的方法
2015/05/05 Python
python3设计模式之简单工厂模式
2017/10/17 Python
获取python文件扩展名和文件名方法
2018/02/02 Python
Python之读取TXT文件的方法小结
2018/04/27 Python
Python秒算24点实现及原理详解
2019/07/29 Python
50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)
2019/11/20 Python
一文带你了解Python 四种常见基础爬虫方法介绍
2020/12/04 Python
法国大使拉杆箱官网:DELSEY Paris
2018/03/20 全球购物
英国在线女鞋目的地:SIMMI
2018/12/27 全球购物
What is view? why do we have view?
2012/06/22 面试题
高中体育教学反思
2014/01/24 职场文书
ktv好的活动方案
2014/08/17 职场文书
2014年重阳节活动策划方案书
2014/09/16 职场文书
仰望星空观后感
2015/06/10 职场文书
六年级语文教学反思
2016/03/03 职场文书
php 原生分页
2021/04/01 PHP