Appearance
useDebounceFnWithLock
▸ useDebounceFnWithLock(fn
, options?
): Object
使用防抖函数和锁定函数实现带有锁定功能的函数
- 该函数封装了 ahooks 的 useDebounceFn 和 useLockFn,确保函数在特定时间内只执行一次。
- 此外,通过引入锁机制,可以确保函数在上一次执行未完成之前不会被再次触发
参数
Name | Type | Default value | Description |
---|---|---|---|
fn | Function | undefined | 要延迟执行的函数。 |
options? | Object | {} | 配置对象,包含wait、leading和trailing三个属性 |
options.leading | undefined | boolean | true | 是否在第一次触发时立即执行,默认为true |
options.trailing | undefined | boolean | false | 是否在最后一次触发后延迟执行,默认为false |
options.wait | undefined | number | 3000 | 延迟执行的时间,默认为3000毫秒 |
返回值
Object
返回一个防抖且带锁功能的函数。
示例
ts
function MyComponent() {
const {
run: handleAction,
cancel,
flush,
} = useDebounceFnWithLock(
event => {
// 在这里执行你的处理逻辑
console.log('处理事件', event)
},
{wait: 1000, leading: true, trailing: false}
)
return <Button onClick={handleAction}>点击我</Button>
}