Ismerje meg, hogyan építheti be ezt a hasznos funkciót a React alkalmazásba a Clipboard API és a react-copy-to-clipboard könyvtár segítségével.

Az információk manuális másolása, legyen szó kódrészletekről, URL-linkekről vagy szövegrészletekről, időigényes és hibás lehet, különösen olyan mobileszközökön, ahol kicsi a képernyő. A „vágólapra másolás” funkció hozzáadása nemcsak időt takarít meg, hanem csökkenti a hibák és elírások lehetőségét is.

A vágólapra másolás funkció beállítása

A React alkalmazásban hozzon létre egy új nevű összetevőt CopyButton. Ez az összetevő elfogadja a szöveget, amelyet a vágólapra kell másolnia.

Ha nincs React projektje, amin dolgozhatna, használja a Create react alkalmazás segédprogramot felállványozni egyet.

functionCopyButton({text}) {
const copyToClipboard = () => {
// copy to clipboard
}
return (

exportdefault CopyButton

Ha rákattint, a gombnak egy elnevezett függvényt kell meghívnia másolja a vágólapra amely a szöveget a vágólapra másolja.

A másolási funkció megvalósításához használhatja közvetlenül a vágólap API-t, vagy használhat egy NPM-csomagot.

instagram viewer

Ez az útmutató megmutatja, hogyan kell mindkettőt használni.

A vágólap API használata szöveg vágólapra másolásához a React alkalmazásban

A Vágólap API módot ad a vágólap-parancsokkal való interakcióra, mint például a másolás, kivágás és beillesztés.

A hozzáféréshez a navigátor.vágólap objektum elérhető a legtöbb modern böngészőben. Számos módszerrel rendelkezik, amelyek lehetővé teszik a vágólap tartalmának írását vagy olvasását.

A vágólapra íráshoz használja a szöveg írása módszer.

Lássuk, hogyan lehet ezt megvalósítani a másolja a vágólapra funkciója CopyButton összetevő.

const copyToClipboard = async (text) => {
try {
await navigator.clipboard.writeText(text);
alert('Text copied to clipboard:', text);
} catch (error) {
alert('Error copying to clipboard:', error);
}
};

A szöveg írása metódus elfogadja a szöveget, amelyet a vágólapra másol. Ez a módszer aszinkron, ezért a await kulcsszót kell használnia, mielőtt továbblépne.

Ha a szöveget a vágólapra másolta, jelenítsen meg egy sikerüzenetet, ellenkező esetben a hibaüzenet riasztásként jelenjen meg.

A böngésző engedélyeinek ellenőrzése

Jó gyakorlatként fontos annak biztosítása, hogy a felhasználó engedélyt adjon a böngészőnek a vágólap eléréséhez. Ellenőrizheti, hogy a felhasználó engedélyezte-e vágólap-írás engedély használatával navigator.permissions Web API-t a vágólapra másolás előtt, az alábbiak szerint.

const copyToClipboard = async () => {
try {
const permissions = await navigator.permissions.query({name: "clipboard-write"})
if (permissions.state "granted" || permissions.state "prompt") {
await navigator.clipboard.writeText(text);
alert('Text copied to clipboard!');
} else {
thrownewError("Can't access the clipboard. Check your browser permissions.")
}
} catch (error) {
alert('Error copying to clipboard:', error);
}
};

A fenti módosított függvényben csak akkor ír rá, ha a felhasználó engedélyt adott a vágólapra írásra. Ellenkező esetben a függvény hibát jelez.

NPM-csomag használata a vágólapra másoláshoz a React alkalmazásban

Ha nem szeretné közvetlenül használni a vágólap API-t, vannak ilyenek több NPM csomag használhatod helyette. React alkalmazásokhoz használhatja a reagál-másolás-vágólapra csomag. Nagyon népszerű, heti több mint 1 millió letöltéssel, és könnyen használható.

Telepítse a React alkalmazásba a következő parancs futtatásával a terminálban:

npm install react-copy-to-clipboard

A telepítés után importálja a Másolja a vágólapra összetevőtől reagál-másolás-vágólapra ba,-be CopyButton összetevő.

import {CopyToClipboard} from'react-copy-to-clipboard';

A Másolja a vágólapra komponens elfogadja a másolni kívánt szöveget kellékként. Elfogad egy gyermekkomponenst is, amelyre kattintva elindítja a másolási műveletet.

Például az alábbi kóddal másolhat a vágólapra egy gombbal:

console.log(result)}>

Vegye figyelembe a kezelő funkciót, onCopy. Két érvet fogad el, szöveg és eredmény ahol a szöveg a másolt szöveg, az eredmény pedig egy logikai érték, amely jelzi, hogy a másolási művelet sikeres volt-e vagy sem.

Miért használjunk vágólapra másolás funkciót?

Megtanulta, hogyan használhatja a vágólap API-t és a react-copy-to-clipboard csomagot szöveg másolására a vágólapra egy React alkalmazásban. Míg az alkalmazás felhasználói egyszerűen kiválaszthatják a szöveget, és használhatják a böngésző másolási funkcióját, a szöveg másolásához kattintással egyszerűbb és jobb a felhasználói élmény.