微信小程序页面跳转页面白屏无报错-->原因

2025-03-05更新:

早上一来发现问题又出现了;人都裂开了;

然后开始怀疑周末点了个开发者工具的版本更新,是不是跟新版有关。

然后又去官网(微信开发者工具(稳定版 Stable Build)下载地址与更新日志 | 微信开放文档)找老一点的版本,重新下回1.06.2306010的稍老版,然后到现在就没再复现过这个问题。。。(有点想骂人!),建议各位友友关闭自动更新:

-----------------------------------

2023-03-04遇到如下问题:

页面清除所有缓存后进入小程序首页,首页会调用多个基础接口,每个接口后台接口返回报文需要重新登录,自动跳转user-type页选择身份信息,同时user-type页又根据逻辑判断自动跳转选择小区页(area),此时因为多个跳转同时渲染紧张页面出现白屏、且控制台不报错

↓接口报文登陆过期会自动跳转/user-type页

	if (res.data.status === 0) {
		return resolve(res.data)
	}
	else if (res.data.status === 1000) {
		if (res.data.message == '登陆过期,请退出重新登陆') {
			uni.removeStorageSync('token');
		}
		uni.navigateTo({
			url: "/pages/user/user-type/user-type"
		})

	} 

↓页面无id时又会跳转/area页面 

mounted() {
	if (uni.getStorageSync('cid') !== '') {
		// --
	} else {
    // 无cid会跳转
		uni.navigateTo({
			url: '/pages/area/area'
		});
	}
},

解决方案:

方案一:进入首页调接口之前加一些可靠数据判定等,改掉多个跳转同时触发...

方案二:给第二个跳转加个setTimeout

setTimeout(function() {
	uni.navigateTo({
		url: '/pages/area/area'
	});
}, 500);

方案三:不自动跳转小区,手动触发

其他方案:各位大佬自行补充

其他辅助解决:pages.json页面配路由时,上述两个页面的路由位置稍微往后放一放。。。

总结:白屏不报错检查了好久哪里问题还以为页面哪里写的有bug。写自动跳转时要避免多个跳转同时并行,或是第二个跳转稍加延时。。。(页面渲染和加载逻辑总是码农必踩的坑,找到问题之前焦头烂额,找到问题之后:“就这,原来你小子!TmT”)

其他博主解决白屏问题:

微信小程序uniapp出现白屏怎么解决(总集)_uniapp白屏-CSDN博客小程序 进入详情页面进入第一次白屏,推出再进正常。_小程序优化页面白屏一下后又恢复了-CSDN博客

### 可能的原因分析 当 HBuilder 小程序页面加载失败但未显示任何错误提示时,可能涉及以下几个方面: #### 1. **运行环境配置** 如果小程序在 H5 环境下可以正常运行但在其他环境下出现问题,则可能是由于目标平台的兼容性设置不正确。例如,在构建快应用或微信小程序时,某些特定功能可能需要额外的权限声明或者依赖库支持[^1]。 #### 2. **缓存问题** 开发工具中的缓存可能导致旧版本代码被加载而新修改的部分未能生效。建议清除项目缓存并重新编译整个工程以确保最新更改已完全同步到运行环境中。 #### 3. **页面初始化逻辑复杂度** 根据最佳实践指导原则,小程序启动页应保持简单化处理流程来提升用户体验效果[^2]。如果首页存在过多耗时操作(比如网络请求、大量DOM渲染),这可能会引起白屏现象或者其他形式的功能异常表现。 ### 解决方案 以下是针对上述可能性提出的具体解决措施: #### 清理与重建 执行如下命令可以帮助消除潜在由残留数据引发的问题: ```bash rm -rf dist/* && npm run build ``` 此脚本先删除所有生成文件再触发一次完整的构建过程,从而避免因增量更新而导致遗漏重要改动的情况发生. #### 调整manifest.json 设置 确认 `manifest.json` 文件内的各项参数均按照官方文档要求填写完毕特别是涉及到跨域资源共享(CORS)以及API调用级别的部分设定项是否匹配实际需求场景.[^1] #### 修改入口文件结构 优化首屏展示内容设计思路遵循轻量化理念即只保留最基础必要的组件元素其余非核心业务模块可通过异步方式按需加载进来以此降低初次访问压力提高响应速度效率. 另外注意区分不同跳转方法适用场合:`wx.navigateTo`适用于保留当前页面栈记录新开一页;而`wx.redirectTo`则会关闭现有界面直接切换至指定位置两者各有优劣需依据具体情况合理选用.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值