---
title: useAsyncCallback
description: "`useAsyncCallback`は、非同期コールバックを管理するためのカスタムフックです。"
links:
- source: https://github.com/yamada-ui/yamada-ui/tree/main/packages/react/src/hooks/use-async-callback
- storybook: https://yamada-ui.github.io/yamada-ui?path=/story/hooks-useasynccallback--basic
---
```tsx
const [loading, onClick] = useAsyncCallback(async () => {
await wait(3000)
}, [])
return (
)
```
## 使い方
```tsx
import { useAsyncCallback } from "@yamada-ui/react"
```
```tsx
import { useAsyncCallback } from "@/components/ui"
```
```tsx
import { useAsyncCallback } from "@workspaces/ui"
```
```tsx
const [loading, onClick] = useAsyncCallback(async () => {}, [])
```
### ローディングを使う
ローディングを使う場合は、`loading`に`screen`や`page`などを設定します。
```tsx
const [loading, onClick] = useAsyncCallback(
async () => {
await wait(3000)
},
[],
{ loading: "page" },
)
return (
)
```
### プロセシングを無効にする
プロセシングを無効にする場合は、`processing`を`false`に設定します。
```tsx
const [, onClick] = useAsyncCallback(
async () => {
await wait(3000)
},
[],
{ loading: "page", processing: false },
)
return
```