Appearance
useMutationWithLock
▸ useMutationWithLock(fn
, mutationOptions?
): UseMutationResult
<unknown
, Error
, unknown
, unknown
> & { run
: () => Promise
<any
> }
结合 useMutation + useLock 的优势
- 可对异步函数进行加锁,fn 必须使用异步函数,否则会导致锁定状态失效
- 可以获取函数的执行状态,利用 useMutation 的 isPending 状态来控制 Spin 等
参数
Name | Type |
---|---|
fn | (any : any ) => Promise <any > |
mutationOptions? | UseMutationOptions <any , Error , void , any > |
返回值
UseMutationResult
<unknown
, Error
, unknown
, unknown
> & { run
: () => Promise
<any
> }
示例
ts
export default function Demo() {
const {run: deleteSomething, isPending: isDeletingSomething} =
useMutationWithLock(() => {
return io.deleteSomething()
})
return (
<Button
loading={isDeletingSomething}
size="small"
onClick={deleteSomething}
>
删除
</Button>
)
}