微信小程序 App 的生命周期钩子函数有以下 7 个:
onLaunch(options):当小程序初始化完成时,会触发 onLaunch(全局只触发一次)。
onShow(options):当小程序启动或从后台进入前台显示时,会触发 onShow。
onHide():当小程序从前台进入后台时,会触发 onHide。
onError(error):当小程序发生脚本错误或 API 调用失败时,会触发 onError 并带上错误信息。
onPageNotFound(options):当小程序找不到页面时,会触发 onPageNotFound 并带上页面信息。
onUnhandledRejection(reason):当 Promise 被 reject 且没有被 catch 处理时,会触发 onUnhandledRejection 事件,并带上 Promise 对象。
onThemeChange(theme):当系统主题改变时触发。
其中,onLaunch、onShow 和 onHide 是小程序必备的生命周期函数,其他的是可选的。
在页面级别中,也有一些生命周期钩子函数,包括:
onLoad(query):当页面加载时,会触发 onLoad,可以从 query 参数中获取页面参数。
onReady():当页面初次渲染完成时,会触发 onReady。
onShow():当页面被展示在前台时,会触发 onShow。
onHide():当页面被隐藏在后台时,会触发 onHide。
onUnload():当页面被销毁时,会触发 onUnload。
需要注意的是,页面级别的生命周期钩子函数只有在小程序中打开页面时才会触发,而在组件中使用时不会触发。
可以参考以下图片加深对钩子函数的理解:
onLaunch(options):当小程序初始化完成时,会触发 onLaunch(全局只触发一次)。
onShow(options):当小程序启动或从后台进入前台显示时,会触发 onShow。
onHide():当小程序从前台进入后台时,会触发 onHide。
onError(error):当小程序发生脚本错误或 API 调用失败时,会触发 onError 并带上错误信息。
onPageNotFound(options):当小程序找不到页面时,会触发 onPageNotFound 并带上页面信息。
onUnhandledRejection(reason):当 Promise 被 reject 且没有被 catch 处理时,会触发 onUnhandledRejection 事件,并带上 Promise 对象。
onThemeChange(theme):当系统主题改变时触发。
其中,onLaunch、onShow 和 onHide 是小程序必备的生命周期函数,其他的是可选的。
在页面级别中,也有一些生命周期钩子函数,包括:
onLoad(query):当页面加载时,会触发 onLoad,可以从 query 参数中获取页面参数。
onReady():当页面初次渲染完成时,会触发 onReady。
onShow():当页面被展示在前台时,会触发 onShow。
onHide():当页面被隐藏在后台时,会触发 onHide。
onUnload():当页面被销毁时,会触发 onUnload。
需要注意的是,页面级别的生命周期钩子函数只有在小程序中打开页面时才会触发,而在组件中使用时不会触发。
可以参考以下图片加深对钩子函数的理解:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!