百度小程序,使用Page.onInit优化页面加载速度

追格官方小助手/ 2022年09月19日/ 小程序/ 浏览 1532

大部分小程序,需要发起至少一次网络请求,并调用setData,才能完成整个页面的最终渲染。如果能优化该环节,页面的渲染时间将会大大缩短。


一般的,都是把第一次网络请求放在App.onLaunch或者Page.onLoad中。但是,在这两个地方发起网络请求都有一些副作用。


如果在App.onLaunch中请求主数据,那么每个页面的请求逻辑都需要在放在App的生命周期中,这样不仅造成了逻辑的耦合,也将一定程度影响初始数据initData的发送,继而拖慢渲染层的初次渲染。


如果在Page.onLoad中请求主数据,那么必须要等到第一次渲染完成之后才能请求主数据,时机比较晚。


Page.onInit 应运而生。


百度小程序提供一种页面级别的生命周期Page.onInit。


该生命周期的执行时机介于App.onLaunch和Page.onLoad之间。具体的执行时机可参考下图,百度小程序是在setInitData之后立即执行Page.onInit()。




需要注意的是,在Page.onInit函数中不能操作页面元素,因为此时页面元素还没有被构建出来。

发表评论

暂无评论,抢个沙发...

客服 工单