首页 > 其他分享 >tsx格式防抖

tsx格式防抖

时间:2024-02-21 19:13:50浏览次数:19  
标签:防抖 timer current useDebounce export tsx 格式 any fn

定义:

import { useCallback, useEffect, useRef } from 'react';

export interface DebounceRefType {
  fn: Function;
  timer?: NodeJS.Timeout;
}

export type DebouncePropsType = [Function, number, any[]?];

const useDebounce = (...[fn, debounce, deps = []]: DebouncePropsType) => {
  const { current } = useRef<DebounceRefType>({ fn });

  useEffect(() => {
    current.fn = fn;
  }, [current, fn]);

  return useCallback(
    function (this: any, ...args: any[]) {
      if (current.timer) {
        clearTimeout(current.timer);
        delete current.timer;
      }

      current.timer = setTimeout(() => {
        current.fn.apply(this, args);
      }, debounce);
    },
    // eslint-disable-next-line
    [debounce, current, ...deps],
  );
};

export default useDebounce;

 使用:

import useDebounce from '@/common/useDebounce'

const handleGoStadiumList = useDebounce(() => {
   dosomething();
  }, timer);

 

标签:防抖,timer,current,useDebounce,export,tsx,格式,any,fn
From: https://www.cnblogs.com/yujiawen/p/18026018

相关文章

  • Windows环境使用ffmpeg转换文件格式
    先安装ffmpeg,官网下载地址https://ffmpeg.org/download.html直接保存即可 将命令保存为.bat 格式,放到ffmpeg.exe所在文件夹, 将所需转换的文件也放到该文件夹,双击bat文件运行即可1.flv 转mp4@echoofffor%%iin("*.flv")doffmpeg-i"%%i"-ccopy"%%i".mp4 ......
  • js 各种时间格式的转换
    js各种时间格式的转换时间格式 示例中国标准时间 FriMar18202214:24:45GMT+0800(中国标准时间)部分可读字符串 FriMar182022格林威治时间 Fri,18Mar202206:24:45GMT现在用的时间标准UTC FriMar18202206:24:45GMTIOS标准时间(JSON时间格式) 2022-03-18T06:24:45.061Z......
  • 前端处理后端返回datetime类型 格式转换
    有时候后端使用的字段为datetime,接口返回数据会变成/Date(1708311728230+0800)/这种,这时候就需要去转换一下格式functionconvertDateString(dateString){vartimestamp=parseInt(dateString.match(/\d+/)[0]);vartimezoneOffset=parseInt(dateString.match(/[......
  • js时间戳转换 带时区的格式
    JavaScript中可以使用Date.toLocaleString()函数将时间戳转换为包含时区信息的日期字符串。示例代码如下所示:1//获取当前时间戳(单位:毫秒)2vartimestamp=Date.now();34//创建一个新的Date对象并传入时间戳作为参数5vardateObj=newDate(timestamp);6......
  • 关于ios手机Date对象的时间格式兼容问题
    通常后台返回给前端的字符串的时间数据格式是这样的:2019-8-512:18:35,要计算日期的时候需要把日期转换成时间戳才方便计算。在安卓chrome等浏览器,此格式可以直接传入到newDate(date)里,获取对应的日期,然后调用getTime方法,既可以获得相应时间的时间戳,像这样:letdate='2019-8......
  • Python 实现Excel和CSV格式之间的互转
    通过使用Python编程语言,编写脚本来自动化Excel和CSV之间的转换过程,可以批量处理大量文件,定期更新数据,并集成转换过程到自动化工作流程中。本文将介绍如何使用第三方库Spire.XLSforPython实现:使用Python将Excel转为CSV使用Python将CSV转为Excel安装PythonExcel类库:pip......
  • 设置使用Pycharm创建py文件时,自动在文件里添加固定格式的注释
    当创建新的py文件时,希望文件头能够生成注释具体做法:1.打开pycharm,找到setting选项 2.点击setting,选择左侧fileandcodetemplates,然后点击pythonscript,在右侧空白部分填入所需的模版。点击apply、点击ok即可。  3.模版案例 #-*-coding:utf-8-*-#************......
  • 如何将OSGB格式的倾斜模型转换成3DTiles?
       通过以下方法可以将OSGB转换成3DTiles。 方法/步骤1、下载三维地图浏览器http://www.geosaas.com/download/map3dbrowser.exe,安装完成后桌面上出现”三维地图浏览器“图标。 2、双击桌面图标打开”三维地图浏览器“ 3、点击“倾斜模型”下拉菜单,然后点击“OSG......
  • PWN学习之格式化字符串及CTF常见利用手法
    格式化字符串的基本漏洞点格式化字符串漏洞是一种常见的安全漏洞类型。它利用了程序中对格式化字符串的处理不当,导致可以读取和修改内存中的任意数据。格式化字符串漏洞通常发生在使用C或类似语言编写的程序中,其中 printf、sprintf、fprintf 等函数用于将数据格式化为字符串......
  • 字符串时间如何转ISO与UTC时间格式
    usingSystem;classProgram{staticvoidMain(){//输入的日期时间字符串stringinputDateTimeString="2024-01-2609:18:52";//将字符串解析为DateTime对象DateTimedateTime=DateTime.ParseExact(inputDateTimeStrin......