useClipboard
کپی متن در کلیپبورد با وضعیت گذرای «کپی شد»
معرفی
هوک useClipboard متن را در کلیپبورد سیستم کپی میکند و یک پرچم گذرای copied میدهد که برای نمایش بازخوردِ «کپی شد!» مناسب است. از Clipboard API مدرن با fallback برای مرورگرها و بسترهای ناامن قدیمی استفاده میکند.
چه زمانی استفاده کنیم
- دکمهی «کپی» برای لینک، کد، توکن یا شناسه
- کپیکردنِ خروجیِ یک گزارش یا کوئری ذخیرهشده
چه زمانی استفاده نکنیم
- برای کپیِ خودکار بدون تعاملِ کاربر — مرورگرها معمولاً بلاک میکنند
استفاده
import { useClipboard } from '@partodata/ui'
function CopyLink({ url }) {
const { copied, copy } = useClipboard()
return <Button onClick={() => copy(url)}>{copied ? 'کپی شد' : 'کپی لینک'}</Button>
}پارامترها
useClipboard(options?) — options اختیاری است:
| فیلد | نوع | پیشفرض | توضیح |
|---|---|---|---|
resetAfter | number | false | 2000 | بعد از این میلیثانیه copied به false برمیگردد؛ false یعنی هرگز |
مقدار بازگشتی
| فیلد | نوع | توضیح |
|---|---|---|
copied | boolean | تا resetAfter میلیثانیه پس از کپیِ موفق true است |
error | Error | null | اگر آخرین تلاشِ کپی خطا داد |
copy | (value: string) => Promise<boolean> | کپیِ متن؛ در موفقیت true، اگر API نبود false |
reset | () => void | بازنشانیِ دستیِ copied و error |
هوکهای مرتبط
- کامپوننتِ آماده با همین رفتار → CopyButton