我的react-native(下称rn)版本为0.68,要实现这个功能主要用到rn的clipboard,在21年的时候他就已经提示clipboard会在未来的版本中上去掉,官方的建议是不要再从react-native引入,而实替换为@react-native-community/clipboard,实现方法详见下面:

1.安装clipboard模块:

yarn add @react-native-community/clipboard

2.在项目中使用:

import Clipboard from "@react-native-community/clipboard";

···

  // 复制事件(需要绑定到button中)
const handleClick = (e) => {
console.log(e);
Clipboard.setString(e)
ToastAndroid.showWithGravityAndOffset(
"内容已复制到剪贴板",
ToastAndroid.LONG,
ToastAndroid.CENTER,
25,
70
);
}

这时候你点击按钮,按钮触发Clipboard,报错:TypeError: null is not an object (evaluating 'NativeClipboard_1.default.setString')。

这是由于你还需要在android包做一些配置,详见下面:

3.打开项目名\android\app\build.gradle,并在里面添加如下代码:

dependencies {
  implementation project(':@react-native-community-clipboard') // 添加这行代码 ...
}

4.打开项目名\android\app\src\main\java\com\app\MainApplication.java,并在里面添加如下代码:

import com.reactnativecommunity.clipboard.ClipboardPackage; // 添加这行代码
 public class MainApplication extends Application implements ReactApplication { ...

5.打开项目名\android\settings.gradle,并在里面添加如下代码:

include ':@react-native-community-clipboard'
project(':@react-native-community-clipboard').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-community/clipboard/android')

6.最重要的一步,卸载现在的版本,重新打包。

最后:第3、4、5步你可以不做,我也不知道这3步是否有效,我是按别人的操作来执行的,我也成功实现了该功能,我建议你报错(TypeError: null is not an object (evaluating 'NativeClipboard_1.default.setString')。)后直接卸载app,然后重新打包看效果,如果没有效果,那就执行3、4、5步骤。

最新文章

  1. docker 源码分析 三(基于1.8.2版本),NewDaemon启动
  2. 浅谈Runloop
  3. 【BZOJ】1507: [NOI2003]Editor(Splay)
  4. Asp.net调用百度搜索引擎
  5. shell获取db信息及上传下载操作
  6. 基于PHP的cURL快速入门
  7. cnzz广告管家使用心得
  8. CentOS6.5安装python redis模块
  9. 洛谷P3796 【模板】AC自动机(加强版)(AC自动机)
  10. 【Unity技巧】开发技巧(技巧篇)
  11. Django报错:OSError: raw write() returned invalid length 4 (should have been between 0 and 2)
  12. [luogu P2375] [NOI 2014] 动物园
  13. CentOS 部署.net core 2.0 项目
  14. mysql 用户及权限
  15. python3学习笔记六(元组)
  16. Java基础语法<八> 继承 多态 抽象 反射
  17. Hanoi问题 算法
  18. reduce()方法
  19. python队列
  20. 单片机、CPU、指令集和操作系统的关系

热门文章

  1. Vue25 mixin
  2. springcloud 08 Hystrix图形化DashBoard
  3. 实现简单的`Blazor`低代码
  4. 冰河指南AI技术社区基于ChatGPT正式启动运营
  5. Windows 串口代码
  6. Training Spiking Neural Networks with Local Tandem Learning
  7. 深入理解跳表及其在Redis中的应用
  8. PostGIS之几何有效性
  9. 化学式latex语法
  10. mysql查询最近2天数据