안녕하세요 펭귄 교수입니다.
이번 시간에는 React 에서 Clipboard API 사용하는 것에 대하여 이야기해보려고 합니다.
Clipboard API는 React 기술이 아닌 자바스크립트 기술이기 때문에 리액트 뿐만 아니라 바닐라 웹, 자바스크립트를 사용하는 다른 프레임워크에서도 사용이 가능합니다.
Copy
navigator.clipboard.writeText("Copy Data");
Paste
navigator.clipboard.readText()
.then(
(clipText) => (
document.querySelector(".editor").innerText += clipText
)
)
React에 적용
간단하게 두 개의 버튼 (Copy, Paste) 가 있고, 두 개의 TextArea 가 있습니다.
첫 번째 TextArea에 값을 입력 후 Copy 버튼을 누르면 클립보드에 첫 번째 TextArea Value 가 등록되고,
Paste 버튼을 누르면 클립보드에 복사된 값이 두 번째 TextArea에 출력되는 프로그램을 작성해볼 것입니다.
전체 코드
import React, {useState} from "react";
const App = () => {
const [data, setData] = useState("");
const [pasteText, setPasteText] = useState("");
const onChange = (e) => {
setData(e.target.value);
}
const onCopy = (e) => {
navigator.clipboard.writeText(data);
alert(`Copy SUCCESS : ${data}`)
}
const onPaste = (e) => {
navigator.clipboard.readText()
.then((clipText) => setPasteText(clipText))
}
return (
<>
<p>
<button onClick={onCopy}>Copy</button>
</p>
<p>
<textarea value={data} onChange={onChange}></textarea>
</p>
<p>
<button onClick={onPaste}>Paste</button>
</p>
<p>
<textarea value={pasteText}></textarea>
</p>
</>
);
}
export default App;
실행 결과
참조
Clipboard API - Web API | MDN
Clipboard API는 클립보드 명령(잘라내기, 복사, 붙여넣기)에 응답하거나 시스템 클립보드에 비동기적으로 접근하고 쓸 수 있는 기능을 제공합니다.
developer.mozilla.org
다른 글 더보기
[JavaScript] #1. 자바스크립트란?
JavaScript 웹 사이트 제작 시 필수적인 프로그래밍 언어 최근에 여러 툴들이 개발됨으로 핸드폰 어플리케이션도 해당 언어로 제작됩니다. React Native 등이 크로스 플랫폼으로 안드로이드, IOS 둘 다
csexy-1365.tistory.com
[React] Title, Favicon 변경하는 법
안녕하세요 펭귄 교수입니다. 이번에 알아 볼 것은 React 프레임 워크에서 Title, Favicon을 설정하는 법에 대해 알아보겠습니다. 이번 글은 Favicon을 만드는 법에 대해서는 따로 설명하지 않습니다.
csexy-1365.tistory.com
'Front Ent > React' 카테고리의 다른 글
[TIL] 서버로 부터 받은 Byte Data, React에서 다운 받기 (0) | 2024.11.19 |
---|---|
[React] State와 Select Tag Binding. (0) | 2024.10.13 |
[React] Title, Favicon 변경하는 법 (0) | 2024.09.20 |