検索
Reactでコピー機能を実装する方法Dec 30, 2022 am 11:27 AM
reactコピー

react でコピー関数を実装する方法: 1. 「copy-to-clipboard」ライブラリを使用してコピー関数を実装します; 2. 「react-copy-to-clipboard」ライブラリを使用してコピーを実装します機能; 3. 「navigator」.clipboard.writeText(e)」メソッドでコピーを実現; 4. 「document.execcommand("copy")」メソッドでコピーを実現; 5. 「copy-」メソッドでコピー機能を実現js」ライブラリ。

Reactでコピー機能を実装する方法

このチュートリアルの動作環境: Windows 10 システム、react18 .0.0 バージョン、Dell G3 コンピューター。

#react で copy 関数を実装するにはどうすればよいですか?

React でのワンクリック コピー - 5 つの方法

    クリップボード ライブラリへのコピー (推奨)
  • 反応- copy-to-clipboard ライブラリ (推奨)
  • navigator.clipboard.writeText(e) (推奨)
  • document.execcommand("copy")
  • copy-js ライブラリ

クリップボードにコピー

1. インストール方法

// npm安装---这种方式可能会对babel的版本有限制
npm i --save copy-to-clipboard


//cdn引入
<script src="https://wzrd.in/standalone/copy-to-clipboard@latest" async></script>

2. 利用方法

import copy from 'copy-to-clipboard';const handleClick = ()=>{
	copy('复制的内容');
	message.success('复制成功')}<button>复制</button>

react-copy-to-clipboard

この方法は copy-to-clipboard に基づいています。copy-to-clipboard のインストール時に他の npm パッケージにバージョン制限があることがわかった場合は、おそらくこれは機能しないでしょうが、試すことは不可能ではありません

1. インストール

npm i --save react-copy-to-clipboard
2. 使用方法 -

に注目すべき場所 があります<copytoclipboard></copytoclipboard>、ルート要素は 1 つだけです。<copytoclipboard></copytoclipboard> でルート要素がラップされている場合は、自分で試してみました。 div と button のような 2 つの兄弟ノードがある場合、コピーは有効になりません。理由はわかりません。興味のある友人はソース コードを確認してください。 <pre class="brush:php;toolbar:false">import { CopyToClipboard } from 'react-copy-to-clipboard';  &lt;copytoclipboard&gt; {      if (result) {        message.success('复制成功');      } else {        message.error('复制失败,请稍后再试');      }    }}  &gt;    &lt;button&gt;&lt;/button&gt;}    /&gt;  &lt;/copytoclipboard&gt;</pre>

document.execcommand("copy")—は非推奨になりましたしかし、一部のブラウザではまだ使用できるようです。ドキュメント

を参照してください。詳細 I

私はこの方法を使ったことがないので、どんな落とし穴があるのか​​わかりません。
使い方

<button>一键复制</button>const btn = document.querySelector('#btn');
  btn.addEventListener('click', () => {
      const textarea= document.createElement('textarea');
      textarea.setAttribute('readonly', 'readonly');
      textarea.value = 'xxxxx';
      document.body.appendChild(textarea);
      textarea.select();
      if (document.execCommand('copy')) {
          document.execCommand('copy');
          alert('复制成功');
      }
      document.body.removeChild(textarea);
  })

copy-jsライブラリこのライブラリを見つけたばかりで使ったことはありませんが、ソース コードも使用します

document.execcommand("copy")

1.

// npm包下载npm install copy-js --save// CDN导入<script></script>

2 をインストールします。
import copy from 'copy-to-clipboard';copy('hello world', function(err) {
    if (err) console.log('Some thing went wrong!');
 
    console.log('Copied!');});

このメソッドのパラメータ e は、次の値を取得する必要があります。入力テキスト ボックスをコピーして、ノード


ただし、この方法は、一部のアプリケーションのインエンド ブラウザーでは制限がある可能性があります。通常のブラウザーでは使用できますが、たとえば、 Feishu エンドエンド ブラウザで利用可能ですが、クリップボード オブジェクトはありません。それはやはり使用シナリオによって異なります。

1. 使い方
const { Search } = Input;const copyLink = (e: any) => {
  navigator.clipboard.writeText(e).then(
    () => {
      message.success(intl.t('复制成功'));
      console.log(e);
    },
    () => {
      message.error(intl.t('复制失败,请稍后再试'));
    },
  );};


 <search></search>

私がまだ考えていない方法もあるかもしれません

推奨学習: "
反応ビデオチュートリアル

>>

以上がReactでコピー機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
react中antd和dva是什么意思react中antd和dva是什么意思Apr 21, 2022 pm 03:25 PM

在react中,antd是基于Ant Design的React UI组件库,主要用于研发企业级中后台产品;dva是一个基于redux和“redux-saga”的数据流方案,内置了“react-router”和fetch,可理解为应用框架。

React是双向数据流吗React是双向数据流吗Apr 21, 2022 am 11:18 AM

React不是双向数据流,而是单向数据流。单向数据流是指数据在某个节点被改动后,只会影响一个方向上的其他节点;React中的表现就是数据主要通过props从父节点传递到子节点,若父级的某个props改变了,React会重渲染所有子节点。

react中为什么使用nodereact中为什么使用nodeApr 21, 2022 am 10:34 AM

因为在react中需要利用到webpack,而webpack依赖nodejs;webpack是一个模块打包机,在执行打包压缩的时候是依赖nodejs的,没有nodejs就不能使用webpack,所以react需要使用nodejs。

react中forceupdate的用法是什么react中forceupdate的用法是什么Apr 19, 2022 pm 12:03 PM

在react中,forceupdate()用于强制使组件跳过shouldComponentUpdate(),直接调用render(),可以触发组件的正常生命周期方法,语法为“component.forceUpdate(callback)”。

react是组件化开发吗react是组件化开发吗Apr 22, 2022 am 10:44 AM

react是组件化开发;组件化是React的核心思想,可以开发出一个个独立可复用的小组件来构造应用,任何的应用都会被抽象成一颗组件树,组件化开发也就是将一个页面拆分成一个个小的功能模块,每个功能完成自己这部分独立功能。

react与vue的虚拟dom有什么区别react与vue的虚拟dom有什么区别Apr 22, 2022 am 11:11 AM

react与vue的虚拟dom没有区别;react和vue的虚拟dom都是用js对象来模拟真实DOM,用虚拟DOM的diff来最小化更新真实DOM,可以减小不必要的性能损耗,按颗粒度分为不同的类型比较同层级dom节点,进行增、删、移的操作。

react和reactdom有什么区别react和reactdom有什么区别Apr 27, 2022 am 10:26 AM

react和reactdom的区别是:ReactDom只做和浏览器或DOM相关的操作,例如“ReactDOM.findDOMNode()”操作;而react负责除浏览器和DOM以外的相关操作,ReactDom是React的一部分。

浅析 Linux 中的零拷贝技术浅析 Linux 中的零拷贝技术Aug 04, 2023 pm 04:23 PM

本文探讨Linux中 主要的几种零拷贝技术 以及零拷贝技术 适用的场景 。为了迅速建立起零拷贝的概念,我们拿一个常用的场景进行引入

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール