博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
react-native中生成二维码和分享图片
阅读量:6831 次
发布时间:2019-06-26

本文共 897 字,大约阅读时间需要 2 分钟。

在react-native中展示二维码是一个非常麻烦的过程。

最好的方法莫过于原生支持画二维码。但是这有一个副作用,需要在原生中添加新的代码。对于不打算很快升级的项目是一个很通过的选择。

这里我介绍一种不使用原生的方式来生成二维码,副作用仅仅是需要联网下载一个js文件。当然可以使用本地缓存了,这样就和原生几乎一致了。

实现自定义二维码

不添加原生代码的情况下实现react-native中展示二维码,其实利用的正是WebView组件。

在前端开发的过程中已经有大神实现了js生成二维码的功能。它就是qrcode.js,熟悉的人已经可以很快想到实现方式了。

如果将WebView看做一个类似View的组件,那么在WebView加载完成之后它就已经在展现上与普通组件没有什么区别了。在这个时候就可以看做已经完成了二维码的生成。

复制代码

其中的html方法其实就是在生成我们需要的html代码。

我们再这里定义几个参数,方便我们使用

static defaultProps = {    value: "",    size: 100,    bgColor: "#fff",    fgColor: "#000",    onLoad: () => { },    onLoadEnd: () => { },    }复制代码

最终效果如下:

产生组件快照

很多时候我们还是需要将APP中的某个部分截图保存的。

在react-native中,我们可以利用takeSnapshot方法,将组件保存在临时目录中,同时使用CameraRoll.saveToCameraRoll方法将图片放入相册中。

有没有想到什么?

是的,我们可以在客户端自己生成分享图片。

如果你的分享图片用到了很多动态数据。比如:用户不同图片不同,产品或者渠道不同图片也不同。这个时候服务端生成图片会非常的耗资源。同时用户在等待图片生成的过程中也会有很大的延迟。

这个时候如果图片能够在客户端中生成岂不是非常的好。速度又快,效果又好。

利用上面的二个组件,我们就可以自定义分享图片并下载到用户的相册中。

转载地址:http://snnkl.baihongyu.com/

你可能感兴趣的文章
返回顶部按钮
查看>>
程序员面试题100题第05题——查找最小的K个元素
查看>>
疯狂.NET 通用权限设计 C\S后台管理,B\S前台调用源码样例程序×××之 --- 操作权限...
查看>>
linux工作进程状态显示---------top命令
查看>>
RHEL7下 nginx 的详细配置
查看>>
LeetCode - Solved Algorithms
查看>>
SharePoint 2010 显示一个人是否在线
查看>>
第十篇 SpringBoot 2 x发送邮件
查看>>
从搞笑到高效,构建敏捷团队的基础原则
查看>>
python 基础语法学习笔记(2019年4月第二周学习笔记)
查看>>
springboot mybatis 项目框架源码 shiro 集成代码生成器 ehcache缓存
查看>>
《SpringBoot+Dubbo+Zookeeper整合搭建简单的分布式应用》
查看>>
LayoutInflater的作用
查看>>
QT 消息处理机制
查看>>
看过Jdk动态代理类长啥样吗?Jdk动态代理原理源码分析
查看>>
volatile
查看>>
JavaScript 二叉树算法排序 图文并茂 这篇就够了
查看>>
操作中按了home键后广播为什么接收不了问题
查看>>
C# 组合控件
查看>>
Jquery获取属性值
查看>>