相关平台
百度小程序
复现仓库
https://github.com/hao-li/taro-problem-sample
小程序基础库: 3.250.12
使用框架: React
复现步骤
- git clone git@github.com :hao-li/taro-problem-sample.git
- yarn
- yarn build:swan
- 使用百度开发者工具(3.21.2)加载本项目
- 打开 console 查看错误信息
点击进入百度小程序问题页
期望结果
正常显示页面,console中无错误
实际结果
页面白屏,console 中报错
index.js:1 Uncaught TypeError: Cannot read property 'componentProto' of undefined
at e (index.js:1)
at e (index.js:1)
at Object.getCustomComponentsData (index.js:1)
at Object.sendInitData (index.js:1)
at success (index.js:1)
at o.<anonymous> (index.js:1)
at o.value (index.js:1)
at index.js:1
at Array.forEach (<anonymous>)
at o.value (index.js:1)
e @ index.js:1
e @ index.js:1
getCustomComponentsData @ index.js:1
sendInitData @ index.js:1
success @ index.js:1
(anonymous) @ index.js:1
value @ index.js:1
(anonymous) @ index.js:1
value @ index.js:1
value @ index.js:1
(anonymous) @ index.js:1
(anonymous) @ index.js:1
(anonymous) @ index.js:1
(anonymous) @ master-worker.js:1
(anonymous) @ master-worker.js:1
(anonymous) @ master-worker.js:1
(anonymous) @ master-worker.js:1
onDispatchEvent @ master-worker.js:1
(anonymous) @ master-worker.js:1
(anonymous) @ master-worker.js:1
环境信息
👽 Taro v2.2.16
Taro CLI 2.2.16 environment info:
System:
OS: macOS 10.15.7
Shell: 5.7.1 - /bin/zsh
Binaries:
Node: 12.16.1 - /usr/local/bin/node
Yarn: 1.17.3 - /usr/local/bin/yarn
npm: 6.13.4 - /usr/local/bin/npm
npmPackages:
@tarojs/components: 2.2.16 => 2.2.16
@tarojs/mini-runner: 2.2.16 => 2.2.16
@tarojs/plugin-babel: 2.2.16 => 2.2.16
@tarojs/plugin-csso: 2.2.16 => 2.2.16
@tarojs/plugin-sass: 2.2.16 => 2.2.16
@tarojs/router: 2.2.16 => 2.2.16
@tarojs/taro: 2.2.16 => 2.2.16
@tarojs/taro-alipay: 2.2.16 => 2.2.16
@tarojs/taro-h5: 2.2.16 => 2.2.16
@tarojs/taro-swan: 2.2.16 => 2.2.16
@tarojs/taro-tt: 2.2.16 => 2.2.16
@tarojs/taro-weapp: 2.2.16 => 2.2.16
@tarojs/webpack-runner: 2.2.16 => 2.2.16
eslint-config-taro: 2.2.16 => 2.2.16
eslint-plugin-taro: 2.2.16 => 2.2.16
nerv-devtools: ^1.5.7 => 1.5.7
nervjs: ^1.5.7 => 1.5.7
stylelint-config-taro-rn: 2.2.16 => 2.2.16
stylelint-taro-rn: 2.2.16 => 2.2.16
taro-ui: ^2.1.0 => 2.3.1
补充信息
- dev 正常 build 有错
- 貌似和 taro-ui 及 taro 版本无关,试过新版 taro-ui (2.3.4,2.2.4)及旧版 taro (2.2.6)均由此错误
8条答案
按热度按时间fzwojiic1#
@luckyadam 请问大概计划什么时候发布修复版本?
dba5bblo2#
百度开发者工具新版本 3.22.1 中一样出现这个问题
5lhxktic3#
复现仓库,反复调试了下,发现还真是taro-ui组件内部的问题。注掉所有taro-ui引入的组件,就可以正常访问了。具体什么原因还没有找到,只知道最简单的一个组件引入,都是有问题的。 @hao-li@luckyadam
w80xi6nr4#
复现仓库,反复调试了下,发现还真是taro-ui组件内部的问题。注掉所有taro-ui引入的组件,就可以正常访问了。具体什么原因还没有找到,只知道最简单的一个组件引入,都是有问题的。 @hao-li@luckyadam
swvgeqrz5#
@paulloo 这么久了还帮忙解析非常感谢!
@luckyadam 现在情况比较尴尬,升级 Taro 3 则 taro-ui 更不兼容
发现百度小程序中每个
<View>Sth.</View>
都被生成为类似也就是每个 view 外都套了两层 swan-template
导致所有 flex 布局中 item 成了 container 的重孙子元素,所以样式出错
在微信小程序中并不存在这个问题
不升级,由于这个问题 2 也无法使用(试了最新的 2.2.17 也一样)
所以我们小程序现在已经没法发布版本了,不管 taro 2 还是 3,不知道能不能处理下,谢谢
z9gpfhce6#
@paulloo 这么久了还帮忙解析非常感谢!
@luckyadam 现在情况比较尴尬,升级 Taro 3 则 taro-ui 更不兼容
发现百度小程序中每个
<View>Sth.</View>
都被生成为类似也就是每个 view 外都套了两层 swan-template
导致所有 flex 布局中 item 成了 container 的重孙子元素,所以样式出错
在微信小程序中并不存在这个问题
不升级,由于这个问题 2 也无法使用(试了最新的 2.2.17 也一样)
所以我们小程序现在已经没法发布版本了,不管 taro 2 还是 3,不知道能不能处理下,谢谢
客气了,我也遇到了同样的问题。目前还是没有解决方案吗?
mrphzbgm7#
@paulloo 是的
据说 Taro 3 是因为使用 去渲染,但百度的 template 会渲染为一个真实的节点,所以 flex 会失效。
Taro 团队反馈给百度后,等着百度处理也等了好久了,估计也不差再多等一段时间
Taro 2 已经是自生自灭的节奏,应该也不会在这上面花功夫了。
有个代价很大万不得已时可以考虑的解决方法的就是退回 Taro 2,更换 UI 框架避开这两个问题。
r7knjye28#
@paulloo 是的
据说 Taro 3 是因为使用 去渲染,但百度的 template 会渲染为一个真实的节点,所以 flex 会失效。
Taro 团队反馈给百度后,等着百度处理也等了好久了,估计也不差再多等一段时间
Taro 2 已经是自生自灭的节奏,应该也不会在这上面花功夫了。
有个代价很大万不得已时可以考虑的解决方法的就是退回 Taro 2,更换 UI 框架避开这两个问题。
好的,谢谢!