非线上环境, 本地环境打包好发布到体验版, 某些机器正常, 有些机器白屏空白不加载内容.
- 首页可以加载, 第二个tab可以展示但是无法交互点击切换
- 第三个, 第四个tab直接白屏
- 打开控制台没有任何报错提示和信息
- 感觉就像是页面加载不出来一样很吃力, 偶尔又能出来一下, 进入详情之后再切到其他tab 后就又白屏了
- 偶尔能出来界面但是所有的事件无法点击, 数据加载不完整, 进入详情后详情页面全白
- 如果打开调试模式, 整个小程序tab页面全部白屏, 除了tab栏能出来, 关闭之后会出现之上的情况
- 在其他设备均能正常显示网络图片, iphonexr 图片无法显示,图片部分均为空白
// 以上为我发现的问题代码, 原本以为是nextTick出现死循环导致的,后来调试发现并没有, 拿到值之后doing 为true并没有再次往下执行
// 问题点是setEleHeights 之后就直接白屏, 我打印出了具体的结果,并没有空指针异常, 所以代码逻辑上并没有发现直接错误
const getEleHeight = () => {
setTimeout(() => {
const doing = eleHeights.every((i) => i);
if (!doing) {
["top1", "box2"].forEach(async (item, index) => {
const height = (await selectEleHeight(`#${item}`)) as number;
setEleHeights((prev) => {
const lastH = prev[index];
if (lastH != height) {
prev[index] = height;
}
return [...prev];
});
});
}
}, 500);
};
useDidShow(() => {
getEleHeight();
});
Taro.nextTick(() => {
getEleHeight();
});