前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >教你利用Taro中的Decorator快速实现小程序分享

教你利用Taro中的Decorator快速实现小程序分享

原创
作者头像
前端老道
修改2020-05-19 17:47:59
9420
修改2020-05-19 17:47:59
举报
文章被收录于专栏:Vue开发社区Vue开发社区
Taro开发
Taro开发

小程序分享api痛点:

我们开发小程序分享时都知道,小程序分享的出口及入口过多,每个页面中都要使用onShareAppMessage,这样并不方便我们进行管理。

什么是Decorator:

Decorator就是一个用于装饰类和类的方法,我们完全可以写一个share的装饰器去装饰不同的页面(类), 后面只需要维护share的装饰器即可

直接上代码:

withShare.js

代码语言:javascript
复制
import Taro from '@tarojs/taro';
import { getBehaviorAnalysis } from '@/actions/global';

function withShare(opts) {
  return function shareComponent(Component) {      
     class WithShare extends Component {
      async componentWillMount() {
        Taro.showShareMenu({
          withShareTicket: true
        });

        if (super.componentWillMount) {
          super.componentWillMount();
        }
      }
      createShareOpts (res) {
        // 写相应的路径进行处理,给出type值做出判断,最好是 key-value值 
      }

      onShareAppMessage(res) {
        // 判断分享按钮来自哪里
        if (res.from === 'menu') {
        }
        return this.createShareOpts(res)
      }

      render() {
        return super.render();
      }
    }

    return WithShare;
  };
}

export default withShare;

使用方法:

代码语言:javascript
复制
import Taro, { Component } from '@tarojs/taro';
import { View } from '@tarojs/components';
import withShare from './withShare';

@withShare({
    title: '可设置分享标题', 
    imageUrl: '可设置分享图片路径', 
    path: '可设置分享路径'
})
class Index extends Component {
  
  render() {
     return (<View></View>)
  }
}

近期:

https://mp.weixin.qq.com/s/ce262xICrOrZe9fZezUITQ

我是一名前端程序员,大家可以关注下‘前端开发社区’公众号,里面有500G的学习资源供大家学习。大家也可以进前端技术交流群或者关注我的博客,谢谢大家!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 小程序分享api痛点:
  • 什么是Decorator:
  • 直接上代码:
  • 使用方法:
  • 近期:
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档