这个特性解决了什么问题?
目前调用分享相关hooks会报错,如:
TypeError: _taro.default.useShareAppMessage is not a function. (In '_taro.default.useShareAppMessage(function ()
希望能对齐小程序那边提供对应 hooks。
如果可以的话,taro-shell能同时接入微信、新浪这些sdk是最好的了。
这个 API 长什么样?
useShareAppMessage(() => {
return {
title: '商城模板',
}
});
3条答案
按热度按时间ifsvaxew1#
跟业务关联比较紧密的api/组件,最好以插件的模式进行添加。如何插件进行注入,后续我们可以考虑一下制定方案。
如 分享、支付、地图、登录等。
2ekbmq322#
理论上可以使用 alias 来解决?
新增 src/custom/taro.js 内容参考:
然后配置 alias:
这样修改后,在小程序端我们能拦截并修改useShareAppMessage。
但是在RN下就没办法拦截和修改导出的Taro对象,看源码像是node_modules/@tarojs/rn-supporter/dist/utils.js中的 getAlias 函数问题,这里面return的结果,@tarojs/components、@tarojs/taro是最后的,所以导致我们配置没办法覆盖默认的alias。我试了下改成:
然后能编译,但是报一个很奇怪的错误:Can't find variable: Taro,到这里就不知道要怎么继续下去了
ia2d9nvy3#
抱歉,近期时间比较少,应该跟这里的按需加载方案有关。
https://github.com/NervJS/taro/blob/next/packages/babel-preset-taro/rn/index.js#L136-L160