小程序
- 小程序可以使用字体图标,下载字体文件到本地,将 iconfont.css 中的 font-face 替换成在线地址即可
- 动态删减小程序 tabbar item,会出现抖动。原因是每个 page 都有一个 tabbar 实例,每进入一个 tabbar 都要重新生成。所以会先看到旧的。暂无解决办法
- 自定义 shareAction 会被 tabbar 遮挡住。解决办法:自定义 tabbar 支持显示隐藏,打开 shareAction 时,隐藏 tabbar
- 小程序 webview(业务域名)支持一级域名
- 普通二维码进入小程序,只有 q 参数,并且需要 decodeURIComponent
- 小程序真机不能显示//test.rabbitpre.com/a.png 这样的图片,要加上 https(开发工具是可以展示的,有误导)
- 小程序 getUserInfo 发生在 wx.login 之前,会出现 illegal buffer 错误。解决办法:wx.login 成功回调之后再 getUserInfo
- 小程序 switchTab 不能带参数,解决办法,使用全局变量传递,用完清除掉
- 小程序 swiper 动态减少后,current 大于 swiperItem 数量,swiper 就会空白,解决办法:加入 current 属性,并手动设置
第三方平台小程序模板开发,可以使用 ext.json,配置默认的 appId 和额外信息
1 2 3 4 5 6 7
{ "extEnable": true, "extAppid": "", "ext": { "appId": "" } }
还需在 taro 配置中添加如下配置,否则不会主动 copy
|
|
取消授权后,可以先 getSetting,判断有无授权,无授权 openSetting,提示去授权
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Taro.getSetting({ success: async res => { if (res.authSetting['scope.writePhotosAlbum'] === false) { Taro.showModal({ title: '', content: '请打开“保存到相册”权限', success(res) { if (res.confirm) { Taro.openSetting({ success(res) { }, }); } }, }); } else { } }
taro
- 使用 static options= {adGlobalClassClass: true},不在组件 less 文件中引入 common.less 能减少生成代码体积
- 当前开发使用的 taro 版本不支持在 render 以外的地方定义 jsx
- 无法使用高阶组件
- 路由参数\$router.params 的属性不能和组件 state 重名,因为 taro 会把他们合并为一个对象
- taro-mobx 在 JSX 中使用变量时,不能用到对象属性,比如:abc.xyz,需要先 const xyz = abc.xyz,然后在 JSX 中直接使用 xyz
- taro 官方构建不支持单独编译某个文件,即 webpack 中的 include 属性无效。
- 组件之间无法通过外部样式传递 className 属性。解决方案,通过其他 props 判断添加不同的 class
- 不支持动态组件,循环不同组件的数组时会报错,只能一个个罗列
其他
iphoneX 兼容底部操作栏兼容,自定义导航栏兼容
image-cropper 插件在 iphone 中,初始化图片不会居中。解决办法:手动调用一次 imageReset
在小程序 onShow 时使用 Taro.eventCenter.on 监听事件埋点,需要在 onHide 时 Taro.eventCenter.off,并且要注意 on,off 的引用不变。否者会出现隐藏/显示/隐藏/显示后上报累加的问题