Taro 周报 #7: 发布 3.0.20,支持使用 CustomWrapper 组件显式创建小程序的自定义组件,解决低端机层级过深卡顿问题

avatar
全栈开发工程师 @京东

Taro 周报 2020 年 12 月 13 日 - 2020 年 12 月 19 日 ,更多的Taro周报点击

Taro 大事件

Taro 3 发布 3.0.19 和 3.0.20

3.0.19 为 ViewTextImage 组件做优化,当没有绑定任何事件时能使用简化模板,不去绑定冗余属性。

组件 View 增加 catchMove 属性,提供直接阻止滚动穿透的能。

3.0.20 VirtualList 组件支持 item 不定高。

支持使用 CustomWrapper 组件显式创建小程序的自定义组件,解决低端机层级过深卡顿问题。但需要注意:

  • H5 未兼容此组件。
  • querySelector API 取自定义组件内的后代时需要这样取:.parent >>> .child
  • 类似 createCanvasContext 等需要传入自定义组件作为上下文的 API,暂时未有办法取到 CustomWrapper 对应的自定义组件的 this
  • 用法:

特性

  • 组件 View 增加 catchMove 属性,提供直接阻止滚动穿透的能力
  • 支持支付宝小程序 getPhoneNumber API,#8177
  • 增加生成原生自定义组件 CustomWrapper ,以应对低端机数据更新过慢的情况
  • VirtualList 组件支持 item 不定高

修复

小程序
  • window 对象能获取到小程序 global 上挂载的属性,by @atzcl
  • 修复短期内重新开启小程序白屏,#8103
  • 修复嵌套到第 15 层碰到 Text 组件导致子文本节点丢失,#6054
  • 修复 View 组件不能设置属性的问题
H5
  • 补充了 uploadFile API 的 timeout、fileName 参数功能,by @zhaoguoweiLLHC
  • 增加 pageScrollTo 函数的 selector 参数支持,by @zhaoguoweiLLHC
  • 修复 pageScrollTo 函数的 tabbar 判断方式有误导致的滚动异常问题,by @zhaoguoweiLLHC
  • 修复 Radio 组件 disabled 属性不生效,#8017,by @ZeroTo0ne
  • 修复 Canvas 同步方法,by @Ininit
  • 修复 canvasToTempFilePath 节点获取,by @Ininit
  • 修复 Video methods,by @helsonxiao
  • 修复 Canvas & pull-down-refresh 相关的问题,#7280 #7072
typings
  • canvasToTempFilePathcanvasId 不再是必传项,by @Swordword

重构

  • 调整 Taro 支持的 node 最低版本到 12
小程序
  • Taro 3 不再支持 componentWillPreload$preload API,改为: Taro.preload()
  • 优化模板逻辑,ViewTextImage 组件当没有绑定任何事件时能使用简化模板,不去绑定冗余属性。
  • 页面 onUnmount 的事件改为同步触发,避免降低微信体验评分

收获的案例

本周小伙伴们分享了 3 个案例:

金华惠民商城小程序 来自 zhuowenhao 提交

金华惠民商城小程序

欢迎大家提交案例(名称 + 小程序码/二维码),和数万开发小伙伴分享您的成果,它将出现在 Taro 文档「案例」页和 「Taro 社区」公众号的周报中。

案例提交地址:

github.com/NervJS/taro…

ISSUES

上周有 47 个新 issue。

其中 27 个 issue 已经被关闭,20 个 issue 仍然保持打开状态。

OPEN ISSUES

🙋‍ #8299 chore(deps): bump typescript from 3.9.7 to 4.1.3, by dependabot-preview[bot]

🙋‍ #8288 支付宝小程序OCR插件无效, by sssonamuuu

🙋‍ #8286 taroui 的ImagePicker组件会在删除图片时会触发事件冒泡, by L863996900

🙋‍ #8283 taro3 使用mobx报错 , by ywanhzy

🙋‍ #8282 有多套组件库,使用方怎么判断使用哪一个?, by fewoy

🙋‍ #8281 Button按钮disabled属性无法正常通过数组长度来控制, by hwxy

🙋‍ #8280 taro2.1.3, 通过splitChunks拆分的组件在分包中引入,小程序报错, by cd-dongzi

🙋‍ #8279 taro采用react开发微信小程序,requestTask正在请求的任务,不能abort中止,, by guopenghui1003

🙋‍ #8277 无法使用支付宝原生提供的关注生活号组件life-follw组件, by Andraw-lin

🙋‍ #8274 taro3,h5端,Taro.previewImage 查看大图功能,能否支持手势缩放, by dtdths

🙋‍ #8273 项目从taro2.2.11升级到3.0.17 编译成功 小程序运行报错, by ywanhzy

🙋‍ #8271 请问 Taro vue 小程序 自定义底部导航 怎么做啊?, by BWchenxin

🙋‍ #8270 打包成快应用,真机无法显示, by shenmissing

🙋‍ #8267 Taro3.x 微信小程序,setState回调函数里,获取不到dom节点, by felemon

🙋‍ #8264 v2版本 @tarojs/componets 中的 scrollview 实现有问题。, by Reamd7

🙋‍ #8263 componentWillUnmount不执行, by samao

🙋‍ #8261 h5的内置Button组件的预设样式,没有对齐微信小程序端, by Reamd7

🙋‍ #8258 taro3配置tabbar时h5端onPageScroll、onReachBottom方法失效, by iamxiyang

🙋‍ #8257 编译配置 sassLoaderOption 导致所有小程序平台编译报错, by b2nil

🙋‍ #8254 项目周报 (2020 年 12 月 5 日 - 2020 年 12 月 12 日), by taro-bot2[bot]

CLOSED ISSUES

🛠 #8300 chore(release): publish 3.0.19, by Chen-jj

🛠 #8298 Dependabot can't resolve your JavaScript dependency files, by dependabot-preview[bot]

🛠 #8297 Dependabot can't resolve your JavaScript dependency files, by dependabot-preview[bot]

🛠 #8296 Dependabot can't resolve your JavaScript dependency files, by dependabot-preview[bot]

🛠 #8295 Dependabot can't resolve your JavaScript dependency files, by dependabot-preview[bot]

🛠 #8294 Dependabot can't resolve your JavaScript dependency files, by dependabot-preview[bot]

🛠 #8293 Dependabot can't resolve your JavaScript dependency files, by dependabot-preview[bot]

🛠 #8292 Dependabot can't resolve your JavaScript dependency files, by dependabot-preview[bot]

🛠 #8291 chore(release): publish 3.0.19, by Chen-jj

🛠 #8290 feat: 跟新虚拟列表相关优化, by ZakaryCode

🛠 #8289 chore(runtime): 页面onUnmount的事件改为同步触发,避免降低微信体验评分, by Chen-jj

🛠 #8287 taro 3.0 微信小程序独立分包白屏, by hjc22

🛠 #8285 fix(component): 组件 view 可以增加 catchMove 属性阻止滚动穿透, by Chen-jj

🛠 #8284 refactor(api): 重构跳转预加载 API, by Chen-jj

🛠 #8278 taroV3.0.14, 采用react开发微信小程序,requestTask,abort不能中止正在进行的请求, by guopenghui1003

🛠 #8276 fix(shared): 修复嵌套到第15层碰到 Text 导致子文本节点丢失,fix #6054, by Chen-jj

🛠 #8275 无法使用 componentDidCatchError 捕获到错误, by Jemair

🛠 #8272 Docs 新增了搜外七巧板制作小程序平台案例文档, by LycEcho

🛠 #8269 video组件timeupdate回调无法触发, by Bluebang

🛠 #8268 Docs:新增了搜外七巧板制作小程序平台案例文档, by LycEcho

🛠 #8266 开发小程序插件时不支持【获取小程序导出】功能, by Ark-Chen

🛠 #8265 chore(release): publish 3.2.0-canary.3, by shinken008

🛠 #8262 docs: 更新 RN 端构建APP, 加载 bundle 及静态资源步骤, by iChengbo

🛠 #8260 fix(api): 补全支付宝小程序 getPhoneNumber api,fix #8177, by Chen-jj

🛠 #8259 fix(runtime): 修复短期内重新开启小程序白屏,fix #8103, by Chen-jj

🛠 #8256 taro3长列表性能问题, by artiely

🛠 #8255 fix(h5): 修复 canvas & pull-down-refresh, by ZakaryCode


PULL REQUESTS

上周有 19 个 pull request 被创建、更新或 merge。

UPDATED PULL REQUEST

上周有 2 个 pull request 更新:

❤️ #8191 fix(runtime): 修复 react 框架用户自定义 componentDidCatch 无效的问题, by digiaries

❤️ #7181 3.x 独立分包支持, by luckyadam

MERGED PULL REQUEST

上周 merge 了 17 个 pull request:

💻 #8300 chore(release): publish 3.0.19, by Chen-jj

💻 #8291 chore(release): publish 3.0.19, by Chen-jj

💻 #8289 chore(runtime): 页面onUnmount的事件改为同步触发,避免降低微信体验评分, by Chen-jj

💻 #8285 fix(component): 组件 view 可以增加 catchMove 属性阻止滚动穿透, by Chen-jj

💻 #8284 refactor(api): 重构跳转预加载 API, by Chen-jj

💻 #8276 fix(shared): 修复嵌套到第15层碰到 Text 导致子文本节点丢失,fix #6054, by Chen-jj

💻 #8272 Docs 新增了搜外七巧板制作小程序平台案例文档, by LycEcho

💻 #8265 chore(release): publish 3.2.0-canary.3, by shinken008

💻 #8262 docs: 更新 RN 端构建APP, 加载 bundle 及静态资源步骤, by iChengbo

💻 #8260 fix(api): 补全支付宝小程序 getPhoneNumber api,fix #8177, by Chen-jj

💻 #8259 fix(runtime): 修复短期内重新开启小程序白屏,fix #8103, by Chen-jj

💻 #8255 fix(h5): 修复 canvas & pull-down-refresh, by ZakaryCode

💻 #8184 补充uploadFile的timeout,fileName参数功能, by zhaoguoweiLLHC

💻 #8113 fix(taro-components): fix radio component disabled property doesn't work in h5 environment (#8017), by ZeroTo0ne

💻 #8050 fix(h5): 修复h5下的pageScrollTo函数功能, by zhaoguoweiLLHC

💻 #7957 fix(canvas-h5): canvas 同步 API canvasToTempFilePath 节点获取问题, by Ininit

💻 #7891 fix(h5): 修复 video methods, by helsonxiao


COMMITS

上周共有 25 个 提交:

🙏 chore(release): publish 3.0.19 by Chen-jj

🙏 chore(release): publish 3.0.19 (#8291) by Chen-jj

🙏 chore(runtime): 页面onUnmount的事件改为同步触发,避免降低微信体验评分 by Chen-jj

🙏 fix(component): 组件 view 可以增加 catchMove 属性阻止滚动穿透 (#8285) by Chen-jj

🙏 refactor(api): 重构跳转预加载 API by Chen-jj

🙏 fix: ci by Chen-jj

🙏 fix(shared): 嵌套到第15层碰到 Text 导致子文本节点丢失,fix #6054 by Chen-jj

🙏 fix(runtime): 修复短期内重新开启小程序白屏,fix #8103 by Chen-jj

🙏 Merge pull request #8255 from NervJS/next-fix-ptrf by ZakaryCode

🙏 Merge branch 'next' into next-fix-ptrf by ZakaryCode

🙏 补充uploadFile的timeout,fileName参数功能 by zhaoguoweiLLHC

🙏 fix(api): 补全支付宝小程序 getPhoneNumber api,fix #8177 by Chen-jj

🙏 Merge branch 'next' into next-fix-ptrf by ZakaryCode

🙏 fix: 卸载时移除事件 by helsonxiao

🙏 fix: 支持更多浏览器的退出事件 by helsonxiao

🙏 test: 增加 control bar test 和 method test by helsonxiao

🙏 fix: add more fullscreenchange by helsonxiao

🙏 fix: 修复 video methods by helsonxiao

🙏 fix(h5-canvas): 完善canvasToTempFilePath by Ininit

🙏 fix(h5-canvas): 修复 Canvas 同步方法 by Ininit

🙏 fix(h5-canvas): 修复canvasToTempFilePath 获取节点 by Ininit

🙏 fix(taro-components): fix radio component disabled property doesn't work in h5 environment (#8017) by ZeroTo0ne

🙏 fix(h5): fix h5 api about get canvas by ZakaryCode

🙏 fix(components): pull to refresh api error by ZakaryCode

:hammer_and_wrench: fix(h5): 修复h5下的pageScrollTo函数的selector参数支持问题 by no name


CONTRIBUTORS

上周共有 7 名独立贡献者:

🤝 Chen-jj

🤝 ZakaryCode

🤝 zhaoguoweiLLHC

🤝 helsonxiao

🤝 Ininit

🤝 ZeroTo0ne

感谢你们对开源事业做出的贡献。🤝


STARGAZERS

上周获得了 71 个 star。它们分别来自于:

wulixb

CheerForMe

akrick

yxtwang

junstudys

daroubing

wlclass

QiuhongAnnaWei

sunhuichuan

mogocat

nemo02622

hxyvipno1

chenxyhz

adoctors

littletwolee

taoeaten

cancelv5

jieqiuming

csiy

my-Sakura

TToooo

tang2010cn

qixiang-xie

LYLeon

fatg1988

yujingxiacai

jinjingmail

zillachan

LycEcho

chenlongming

afternoon7

taoqf

fine-ypc

DaYuan08

zxfred

wzhiliang

coltoneakins

zdwork

Ajoe88

hc-tec

cmy2841669254

Chennyh

ww1184453204

wchfish

whc3639

gtx0023

gy18505

chentao0707

lfvepclr

pillar

SimonRHW

xilinglaoshi

noenif

chenxuuu

Alphaly2K

Roi1992

vincecao

linshan6264

maojing-Mj

tcangz

tangzhenming

skynikita

kdxcxs

mabelyong

budaLi

zhongjjay

jeff0x400

zhujunsan

lianghongming95

ViKingQ

yanhuan123

You all are the stars! ⭐


RELEASES

上周有 1 个新版本发布。

🚀 v3.0.20 chore(release): publish 3.0.20


以上就是本周的项目周报。你可以点击 weekly-digest 查看往期的项目周报。