본문으로 건너뛰기

useTextClipboard

클립보드에 텍스트를 복사, 붙여넣기, 초기화할 수 있는 커스텀 React Hook입니다. 복사 성공 여부(isCopied), 현재 클립보드 값(clipboardText), 에러(error)를 상태로 관리합니다.

🔗 사용법

const { isCopied, clipboardText, error, copy, paste, reset } = useTextClipboard(timeout);

매개변수

이름타입설명
timeoutnumber복사 성공 상태(isCopied)가 유지되는 시간(ms). 기본값 2000

반환값

객체 형태로 상태와 메서드를 반환합니다.

이름타입설명
isCopiedboolean복사 성공 여부
clipboardTextstring | null클립보드의 현재 텍스트
errorError | null복사/붙여넣기 시 발생한 에러
copy(text: string) => Promise<void>텍스트를 클립보드에 복사
paste() => Promise<string | null>클립보드에서 텍스트를 읽어 반환
reset() => void상태(isCopied, clipboardText, error) 초기화

✅ 예시

import { useTextClipboard } from 'hookdle';

function ClipboardExample() {
const { isCopied, clipboardText, error, copy, paste, reset } = useTextClipboard(3000);

return (
<div>
<button onClick={() => copy('Hello World')}>{isCopied ? '✅ Copied!' : '📋 Copy'}</button>

<button
onClick={async () => {
const text = await paste();
console.log('Clipboard text:', text);
}}
>
📥 Paste
</button>

<button onClick={reset}>Reset</button>

<div>현재 클립보드: {clipboardText ?? '없음'}</div>
{error && <div style={{ color: 'red' }}>에러: {error.message}</div>}
</div>
);
}