感谢反馈,很清晰的片段~ 我们排查到这里出问题的原因是目前的占位组件替换逻辑对相关组件的生命周期的触发时序处理不对,表现为组件 attached 或子组件 moved 生命周期触发时,组件节点树处于一个不正确的临时态,导致此时(attached 生命周期中)同步的 setData 引发的模板 diff 无法正确同步到节点树上,从而在后续的流程中创建了错误的替换组件,并在错误的组件上触发了 attached 周期,最终出现片段中的问题。 这段逻辑在基础库 2.26.1 版本引入,目的是修复更早版本中的另一个问题(子组件会先触发 detached 再触发 attached,而不是触发 moved)。我们会尽快处理修复这个问题,再次感谢~
【Bug】小程序异步分包组件加载被阻塞,js执行出错!小程序基础库版本要求: 基础库版本 > 2.25.4 时可复现 基础库版本 <= 2.25.4 时表现正常 问题描述及复现步骤: 1) 项目结构,项目分主包和分包(如下图),其中: 主包包含一些公共的,同步的基础组件,如 comp1、comp2、comp3 分包包含一些业务的异步组件,如 async-comp1、async-comp2、async-comp3 ... async-comp7 [图片] 2) 页面结构,包含页面元素、同步组件、异步组件,如下图: 2.1 所有的异步组件在组件的 attached 生命周期中抛出事件 this.triggerEvent('attached') [图片] 2.2 在页面所有的异步组件上监听 attached 事件并进行处理 [图片] 当事件处理器以同步的方式调用 setData 时,会导致部分异步组件的 attached 生命周期不触发, 如下图控制台 AppData 中可以看到,async-comp2、async-comp4、async-comp6 组件的 attached 生命周期不触发,在实际复杂的项目里,会直接表现为组件加载失败。 加载失败的组件表现出一定的规律,async-comp2为第一个监听 attached 事件的后一个组件,async-comp4、async-comp6 组件前都有一个同步组件。 [图片] 当事件处理器以异步的方式调用 setData 时,或小程序基础库版本 <= 2.25.4 时,表现正常,如图: [图片] 针对已上问题,如果是bug,希望官方能够及时修复或者给出解决方案,如果是 feature,麻烦说明其中原理,谢谢!
01-22可以打印一下 wx.getSkylineInfo 的 res.reason,对照文档看看具体不支持的具体原因
微信ios8.0.31用wx.getSkylineInfo判断显示不支持?https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSkylineInfo.html wx.getSkylineInfo({ success(res) { console.log(res) if (res.isSupported) { } else { // 使用旧版 scroll-view } }, fail: function (res) { console.log(res) }, })
2022-12-30感谢反馈,是刚开始灰度的 2.28.1 基础库的问题,我们会回退这个版本,修复后重新发布
双端 8.0.30+ 版本,Text 组件显示有问题<Text> {title}({userInfo ? (count > 99 ? '99+' : count) : '*'}) </Text> 在数据正常的情况下,会被渲染为 [图片]
2022-12-08看了一下,iOS 上只有一个 taro 抛出来的错误,可以再排查一下或者提交给 taro 看看是什么具体问题导致的错误吗?
小程序线上版本ios打开空白appid:wxa65c1b1591c3d46c。 我上线了一个月的小程序,突然得到反馈线上版本小程序ios打开空白。 然后我发现不管是,扫码,还是真机调试,还是线上版本,全部是空白。希望官方给出解答,谢谢。
2022-09-01有复现方法能让我们复现看一下吗?或者复现后给一下我们复现的微信号和时间点,我们拉日志看一看
急急急!!!!!!navigateBackMiniProgram 跳转开卡组件,提交返回获取参数为空小程序navigateBackMiniProgram跳转wx.getLaunchOptionsSync().referrerInfo返回空对象 此问题微信7月1号weChatLib 2.24.7版本发布之后出现了跳转会员卡组件,用户点击提交返回的时候wx.getLaunchOptionsSync().referrerInfo获取的值为空 开发者工具回退到2.24.5版本测试跳转小程序返回小程序wx.getLaunchOptionsSync().referrerInfo获取的值不为空 7月1号之前的版本此版本正常 [图片][图片] 7月1号新版本发布异常获取不到参数[图片][图片]
2022-07-042.24.7 目前只灰度到了小程序开发者,还没有灰度到普通用户;生产环境的话有线上的复现路径我们复现一下看看吗?或者提供 appId 我们捞一下日志看看
button组件在基础库2.24.7,点击获取不到绑定的index?如下图,此为项目老代码了,今日生产版本发现,当基础库为2.24.7版本时,点击button获取不到绑定的index,console发现此时e,target.dataset.index为undefined,开发版已复现,降低开发版基础库到2.16.1后,能够获取到,猜测是不是上周五基础库更新影响到这里,麻烦关注解惑一下 [图片] [图片]
2022-06-27确认了一下,是我们在低版本基础库(2.23.4)上的一个特性变更导致的 bug,这周内会发版修复
getComputedStyle 在安卓中为何突然无法正常使用?// WXS 代码 function get_current_style(event, instance) { var elem = instance.selectComponent(".some_class_name"); var sizes = ['width', 'height', 'left', 'top']; var style = elem .getComputedStyle(sizes); return style; } 问题:该函数截止今天早上(2022-06-06)一直运行正常;下午突然发现在安卓手机中无法正常使用,出现报错;经测试,发现在 iOS 端和 PC 端微信开发者工具仍然可以正常运行; 报错内容如下: SystemError (webviewScriptError) Cannot read property 'nv_width' of null TypeError: Cannot read property 'nv_width' of null at https://servicewechat.com/wxfbbcc9cb7350d111/0/page-frame.html:11837:3964 at Array.forEach (<anonymous>) at nv_get_current_style
2022-06-07和你猜的一样,例子里用 <fu-button>文本</fu-button>,其中 fu-button 在加载期间用 view 做占位,所以在分包下载期间页面实际渲染的是 <view>文本</view>,应用的是 view 的样式,表现是预期的;可以考虑在组件加载完成之后再显示文本;组件加载完成可以在分包组件 attached 的时候做事件(文档里的示例片段有类似的做法)分包下载完成也可以在分包代码执行的时候做一些逻辑来通知
分包异步化,组件渲染异常将自定义组件库package使用了分包异步化后,在A分包中,从X页面跳转进Y页面,Y页面包含package中的组件,页面一开始会出现无样式的自定义组件内容 [图片] 其中中间内容为自定义弹窗,需点击触发 整个页面正常显示应该是如下 [图片][图片] 猜测是因为使用了view占位符,故默认会先用view,将内容渲染出来,但是体验不好,有没有什么办法能规避这一问题呢,例如,等待分包下载完毕后,再渲染页面,在此期间loading,但是没有提供相关的方法监听分包加载,wx.onLazyLoadError只能监听加载失败的。还请各位大佬解答 另外,有时候会出现 [图片] [图片] 抓狂了
2022-05-25当前页面栈可以通过 getCurrentPages 获得,页面实例上有 is 属性代表页面路径,可以用来判断页面所属的分包
怎么从主包角度区分当前活跃状态是主包页面还是分包页面呢?怎么从主包角度区分当前活跃状态是主包页面还是分包页面呢 怎么区分隐藏后台是在主包操作还是分包操作呢
2022-04-01报错的情况能否给一下代码片段我们排查一下? 对于其他问题: 运行时的基础库其实并不能区分没有引用 placeholder 的组件是确实不存在还是在其他分包中并且希望异步的,对于这种情况现在应该都会在控制台报组件未找到的错误(同时 fallback 到空实现)。我们看看能否在工具上做一些检测和提示;可以用对应分包中的 js 代码执行,或者组件 attach 等生命周期之类的方式来确定;也可以通过 js 里 require.async 再 setData 显示组件的方法保证分包是已经加载的状态;加载失败现在确实是缺的,我们在设计各种异步方式失败后错误抛出的方式,后续会加上。
开发者工具-分包异步expect END descriptor with depth 0?[图片] 基础库2.23.1,组件使用分包异步的时候报错 基础库2.21.4,分包异步的报错会少很多 其他问题: 1、 对于用了组件分包异步,但是没有引用用placeholder的组件,是否可以在控制台报出来 2、分包异步怎么确定包拉取完成了,后面其他组件再调用异步分包中的组件时,不用再加载。 3、分包异步包加载失败,能否抛出来哪个分包
2022-03-23