小程序系列:onLoad,onReady和onShow等生命周期函数的区别和使用

2023-11-12

小程序请求这部分,我们发现有onLoad,onReady,onShow等都可以调用function发送请求。他们之间有什么区别?首先官方文档先甩出来,这些都是微信页面page这个Object的声明周期函数里面的,其实点进去看定义就可以了,毕竟里面说的很清楚。

微信页面构造,生命周期函数

懒得看文档觉得不直观,我再甩你一张图,这个图也是官方的,虽然说你也不可能马上理解但是肯定会让你对小程序的page生命周期有一定了解。
看图(地址就不贴了上一个连接的最下面):
在这里插入图片描述
然后自己再BB总结一下
(1)onLoad
页面加载时触发,且只发生一次,有些数据实时性要求不高可以onlaod里面触发对应的请求

(2)onReady
页面初次渲染之后触发(只是初次,下一次页面渲染就没他什么事),只触发一次。你发送请求其实也可以把它当做onload毕竟也只是一次,但是你涉及到一些渲染的东西要注意了,设置页面标题之类的要在他之后再用。

(3)onShow
定义是页面显示,切入前台触发,用我的话来讲就是这个页面出现一次,他就被调用一次包括你前进后退到这个页面。
(4)onHide
可能你看图alive和active切换可能不太了解,但是你实际操作一下就知道,写一个简单得打印函数,在onHide里面调用,切换页面的时候你就会发现该函数被调用。你可以通过这个Hide的词来理解,这个页面切换到别的页面就会触发。

待续。。。。

实际使用注意
onload在页面加载的时候加载一次,而onShow就是切换到这个页面就会加载一次。所以很多操作尤其是有数据交互请求后台的的function函数要注意,该放onload就放在onload里面,该放在onShow就放在onShow里面,别一个请求多次触发然而没什么实际意义,减轻后台压力,查询日志也方便,不会有一大堆相同的无意义请求干扰。有些东西请求拿到数据可以放在缓存里,像有些数据时效性不是很高可以拿缓存数据处理,时效性有点高的数据,可以定时一段时间刷新请求一下,你如商品列表的商品,你onShow一次太频繁,不更新的话新的商品上新前台看不到,可以定时刷新请求一次获取数据。

放个自己的公众号的二维码:

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

小程序系列:onLoad,onReady和onShow等生命周期函数的区别和使用 的相关文章

  • PAL和NTSC的区别

    1 NTSC制又称为恩制 它属于同时制 是美国在1953年12月首先研制成功的 并以美国国家电视系统委员会 National Television System Committee 的缩写命名 这种制式的色度信号调制特点为平衡正交调幅制 即
  • 当后端一次性丢给你数十万条数据, 作为前端工程师的你,要怎么处理?

    前段时间有朋友问我一个他们公司遇到的问题 说是后端由于某种原因没有实现分页功能 所以一次性返回了2万条数据 让前端用 select 组件展示到用户界面里 我听完之后立马明白了他的困惑 如果通过硬编码的方式去直接渲染这两万条数据到 selec
  • 棋盘格文件及标定矫正程序(链接直接下载,CAD文件可修改)

    一个27 27mm棋盘格文件 9x6格 标定摄像头想下载棋盘格图片 找的太难了 用CAD画了一个 打印出来A4纸上实际尺寸27 27mm 需要的可以点击下载 链接 棋盘格下载地址 1 里面有CAD文件方便修改其它需要的尺寸 格数 也可以直接
  • HLL 算法(HyperLogLog)

    HyperLogLog 下面简称为HLL 它是 LogLog 算法的升级版 作用是能够提供不精确的去重计数 存在以下的特点 代码实现较难 能够使用极少的内存来统计巨量的数据 在 Redis 中实现的 HyperLogLog 只需要12K内存

随机推荐