React ahooks——副作用類hooks之useThrottleFn

useThrottleFn?用于創建一個節流函數,確保該函數在指定時間內最多執行一次。

一、基本使用

import { useThrottleFn } from 'ahooks';
import { Button, Space } from 'antd';const ThrottleDemo = () => {const { run, cancel, flush } = useThrottleFn((message) => {console.log(message, new Date().toISOString());},{ wait: 2000,leading: true,trailing: true });return (<Space><Button onClick={() => run('常規調用')}>觸發節流函數</Button><Button onClick={cancel}>取消待執行</Button><Button onClick={flush}>立即執行待調用</Button></Space>);
};

二、參數說明

2.1 配置項

useThrottleFn?的第二個參數是一個配置對象,可以設置以下選項:

主要配置項

  • wait?(number)

    • 節流等待時間,單位毫秒

    • 默認值:1000?(1秒)

    • 示例:{ wait: 500 }?表示500毫秒內最多執行一次

  • leading?(boolean)

    • 是否在節流開始前立即執行函數

    • 默認值:true

    • 如果設為?false,第一次調用不會立即執行

  • trailing?(boolean)

    • 是否在節流結束后執行函數

    • 默認值:true

    • 如果設為?false,最后一次調用不會在延遲結束后執行

高級配置項

  • maxWait?(number)

    • 最大等待時間,保證在超過此時間后一定會執行一次

    • 示例:{ wait: 500, maxWait: 2000 }?表示即使持續觸發,至少每2秒會執行一次

2.2 返回值

run?(Function)

  • 觸發執行節流函數的入口

  • 調用時會根據配置的節流規則決定是否執行原函數

  • 可以傳遞參數給原函數

cancel?(Function)

  • 取消所有待執行的節流函數調用

  • 清空節流計時器

flush?(Function)

  • 立即執行當前待執行的節流函數(如果有)

  • 不會重置節流計時器

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/92203.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/92203.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/92203.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

PostgreSQL——函數

PostgreSQL函數一、數學函數1.1、絕對值函數ABS(x)和圓周率函數PI()1.2、平方根函數SQRT(x)和求余函數MOD(x,y)1.3、取整函數CEIL(x)、CEILING(x)和FLOOR(x)1.4、四舍五入函數ROUND(x)和ROUND(x,y)1.5、符號函數SIGN(x)1.6、冪運算函數POW(x,y)、POWER(x,y)和EXP(x)1.7、對數運…

ffmpeg下載windows教程

1.百度搜索ffmpeg&#xff0c;進入官網2.點擊Download3.點擊windows圖標&#xff0c;選擇藍色框內的點擊4.點擊藍色框內帶有win64下載5.下載完好打開bin&#xff0c;看到3個exe文件6.打開cmd文件輸入 ffmpeg -version &#xff0c;出現以下畫面證明安裝成功7.然后添加環…

解鎖高并發LLM推理:動態批處理、令牌流和使用vLLM的KV緩存秘密

網羅開發&#xff08;小紅書、快手、視頻號同名&#xff09;大家好&#xff0c;我是 展菲&#xff0c;目前在上市企業從事人工智能項目研發管理工作&#xff0c;平時熱衷于分享各種編程領域的軟硬技能知識以及前沿技術&#xff0c;包括iOS、前端、Harmony OS、Java、Python等方…

跨域場景下的Iframe事件監聽

背景在當前window窗口&#xff0c;對于一些浮窗組件&#xff0c;一般需要點擊當前window下的其他位置才能夠隱藏浮窗。但如果當前窗口中存在iframe區域&#xff0c;那么由于一些特殊的性質&#xff0c;無法通過常規的click點擊事件監聽iframe元素的點擊&#xff0c;而通過conte…

零知識證明入門應用指南:原理與Python實踐

目錄 零知識證明入門應用指南:原理與Python實踐 1. 引言:隱私計算的革命 2. 零知識證明基礎原理 2.1 數學基礎:離散對數問題 2.2 基本協議流程 2.3 核心概念 3. Schnorr協議:經典ZKP實現 3.1 協議數學描述 3.2 Python實現 4. 非交互式證明:Fiat-Shamir變換 4.1 原理 4.2 P…

PyTorch中三角函數與特殊運算詳解和實戰場景示例

在 PyTorch 中&#xff0c;三角函數&#xff08;如 sin, cos, tan 等&#xff09;和一些特殊數學運算&#xff08;如雙曲函數、反三角函數、hypot, atan2, clamp, lerp, sigmoid, softplus, special 模塊等&#xff09;被廣泛用于科學計算、機器學習、深度學習中的前向推理或梯…

論文閱讀: Mobile Edge Intelligence for Large LanguageModels: A Contemporary Survey

地址&#xff1a;Mobile Edge Intelligence for Large Language Models: A Contemporary Survey 摘要 設備端大型語言模型&#xff08;LLMs&#xff09;指在邊緣設備上運行 LLMs&#xff0c;與云端模式相比&#xff0c;其成本效益更高、延遲更低且更能保護隱私&#xff0c;因…

JavaWeb(蒼穹外賣)--學習筆記17(Websocket)

前言 本篇文章是學習B站黑馬程序員蒼穹外賣的學習筆記&#x1f4d1;。我的學習路線是Java基礎語法-JavaWeb-做項目&#xff0c;管理端的功能學習完之后&#xff0c;就進入到了用戶端微信小程序的開發&#xff0c;&#x1f64c;用戶下單并且支付成功后&#xff0c;需要第一時間通…

WebForms 簡介

WebForms 簡介 概述 WebForms 是微軟公司推出的一種用于構建動態網頁和應用程序的技術。自 2002 年推出以來,WebForms 成為 ASP.NET 技術棧中重要的組成部分。它允許開發者以類似于桌面應用程序的方式創建交互式網頁,極大地提高了 Web 開發的效率和體驗。 WebForms 的工作…

vsCode軟件中JS文件中啟用Emmet語法支持(React),外加安裝兩個常用插件

1.點擊vsCode軟件中的設置&#xff08;就是那個齒輪圖標&#xff09;&#xff0c;如下圖2.在搜索框中輸入emmet&#xff0c;然后點擊添加項&#xff0c;填寫以下值&#xff1a;項&#xff1a;javascript 值&#xff1a;javascriptreact。如下圖3.可以安裝兩個常用插件&#xf…

【第2話:基礎知識】 自動駕駛中的世界坐標系、車輛坐標系、相機坐標系、像素坐標系概念及相互間的轉換公式推導

自動駕駛中的坐標系概念及相互間的轉換公式推導 在自動駕駛系統中&#xff0c;多個坐標系用于描述車輛、傳感器和環境的相對位置。這些坐標系之間的轉換是實現定位、感知和控制的關鍵。下面我將逐步解釋常見坐標系的概念&#xff0c;并推導相互轉換的公式。推導基于標準幾何變換…

深度拆解Dify:開源LLM開發平臺的架構密碼與技術突圍

注&#xff1a;此文章內容均節選自充電了么創始人&#xff0c;CEO兼CTO陳敬雷老師的新書《GPT多模態大模型與AI Agent智能體》&#xff08;跟我一起學人工智能&#xff09;【陳敬雷編著】【清華大學出版社】 清華《GPT多模態大模型與AI Agent智能體》書籍配套視頻課程【陳敬雷…

tomcat處理請求流程

1.瀏覽器在請求一個servlet時,會按照HTTP協議構造一個HTTP請求,通過Socket連接發送給Tomcat. 2.Tomcat通過不同的IO模型接收到Socket的字節流數據。 3.接收到數據后,按照HTTP協議解析字節流,得到HttpServletRequest對象 4.通過HttpServletRequest對象,也就是請求信息,找到該請求…

【音視頻】WebRTC 一對一通話-信令服

一、服務器配置 服務器在Ubuntu下搭建&#xff0c;使用C語言實現&#xff0c;由于需要使用WebSocket和前端通訊&#xff0c;同時需要解析JSON格式&#xff0c;因此引入了第三方庫&#xff1a;WebSocketpp和nlonlohmann&#xff0c;這兩個庫的具體配置方式可以參考我之前的博客…

Spring(以 Spring Boot 為核心)與 JDK、Maven、MyBatis-Plus、Tomcat 的版本對應關系及關鍵注意事項

以下是 Spring&#xff08;以 Spring Boot 為核心&#xff09;與 JDK、Maven、MyBatis-Plus、Tomcat 的版本對應關系及關鍵注意事項&#xff0c;基于最新技術生態整理&#xff1a; 一、Spring Boot 與 JDK 版本對應 Spring Boot 2.x 系列 最低要求&#xff1a;JDK 1.8推薦版本…

03-基于深度學習的鋼鐵缺陷檢測-yolo11-彩色版界面

目錄 項目介紹&#x1f3af; 功能展示&#x1f31f; 一、環境安裝&#x1f386; 環境配置說明&#x1f4d8; 安裝指南說明&#x1f3a5; 環境安裝教學視頻 &#x1f31f; 二、系統環境&#xff08;框架/依賴庫&#xff09;說明&#x1f9f1; 系統環境與依賴配置說明&#x1f4c…

24. 前端-js框架-Vue

文章目錄前言一、Vue介紹1. 學習導圖2. 特點3. 安裝1. 方式一&#xff1a;獨立版本2. 方式二&#xff1a;CDN方法3. 方式三&#xff1a;NPM方法&#xff08;推薦使用&#xff09;4. 搭建Vue的開發環境&#xff08;大綱&#xff09;5. 工程結構6. 安裝依賴資源7. 運行項目8. Vue…

Spring 的依賴注入DI是什么?

口語化答案好的&#xff0c;面試官&#xff0c;依賴注入&#xff08;Dependency Injection&#xff0c;簡稱DI&#xff09;是Spring框架實現控制反轉&#xff08;IoC&#xff09;的主要手段。DI的核心思想是將對象的依賴關系從對象內部抽離出來&#xff0c;通過外部注入的方式提…

匯川PLC通過ModbusTCP轉Profinet網關連接西門子PLC配置案例

本案例是匯川的PLC通過開疆智能研發的ModbusTCP轉Profient網關讀寫西門子1200PLC中的數據。匯川PLC作為ModbusTCP的客戶端網關作為服務器&#xff0c;在Profinet一側網關作為從站接收1200PLC的數據并轉成ModbusTCP協議被匯川PLC讀取。配置過程&#xff1a;匯川PLC配置Modbus TC…

【計組】數據的表示與運算

機器數與真值機器數真值編碼原碼特點表示范圍求真值方法反碼特點補碼特點表示范圍求真值方法移碼特點表示范圍求真值方法相互轉換原碼<->補碼補碼<->移碼原碼<->反碼反碼<->補碼移位左移右移邏輯右移算術右移符號擴展零擴展整數小數符號擴展運算器部件…