/
spirzen
/
it-knowledge-base
Обзор
Документация
Войти
/
spirzen
/
it-knowledge-base
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/components/shared/useCopyToClipboard.js
24 строки
628 B
Spirzen
Components Rework
19 май 2026, 19:17
19 май 2026, 19:17
d8d92a3
Код
Авторство
О чём код?
import {useCallback, useState} from 'react'; export default function useCopyToClipboard(resetMs = 2000) { const [copiedKey, setCopiedKey] = useState(null); const copy = useCallback( async (text, key = 'default') => { if (!text) { return false; } try { await navigator.clipboard.writeText(text); setCopiedKey(key); window.setTimeout(() => setCopiedKey((k) => (k === key ? null : k)), resetMs); return true; } catch { return false; } }, [resetMs], ); return {copy, copiedKey, isCopied: (key = 'default') => copiedKey === key}; }