React ahooks——副作用类hooks之useDebounceFn

useDebounceFnahooks 提供的用于函数防抖的Hook,它可以确保一个函数在连续触发时只执行最后一次。

一、基本用法

javascript 复制代码
import { useDebounceFn } from 'ahooks';
import { Button } from 'antd';

const Demo = () => {
  const { run } = useDebounceFn(
    () => {
      console.log('防抖函数执行', new Date().toISOString());
    },
    {
    wait: 500,
    leading: true,   // 第一次立即执行
    trailing: true,  // 最后一次也执行
    maxWait: 2000   // 最多2秒必须执行一次
  }
  );

  return (
    <Button onClick={run}>
      点击我(防抖500ms)
    </Button>
  );
};

二、参数说明

2.1 输入参数

  • 第一个参数:需要防抖的函数

  • 第二个参数:配置对象

    • wait:防抖等待时间,单位毫秒(默认 1000ms)

    • leading:是否在延迟开始前立即执行(默认 false)

    • trailing:是否在延迟结束后执行(默认 true)

    • maxWait:最大等待时间(保证函数至少在这个时间内执行一次)

2.2 返回值

  • run:触发执行的防抖函数

  • cancel:取消当前防抖

  • flush:立即执行当前等待的函数

相关推荐
@菜菜_达17 分钟前
jquery.inputmask插件介绍
前端·javascript·jquery
QuZhengRong17 分钟前
【Luck-Report】缓存
java·前端·后端·vue·excel
jiayong2322 分钟前
前端面试题库 - 浏览器与网络篇
前端·网络·面试
Csvn26 分钟前
小程序开发:微信小程序与 uni-app 实战指南
前端
摸鱼小李上线了32 分钟前
vue项目页面添加水印实现方法
前端·javascript·vue.js
砍材农夫38 分钟前
物联网 基于netty构建mqtt协议规范(主题通配符订阅)
java·前端·javascript·物联网·netty
彩票管理中心秘书长42 分钟前
智能体状态指示:何时思考、何时调用工具、何时出错
前端·后端·程序员
彩票管理中心秘书长42 分钟前
React + TypeScript拆解一整套“AI 变现代码流程”
前端·后端·程序员
广州华水科技1 小时前
单北斗GNSS变形监测在基础设施安全中的应用与维护
前端
码途漫谈1 小时前
把前端组件做成一座小岛:Animal-Island-UI 的自然风 React 组件库拆解
前端·开源