而且由于入口文件继承自 Component
组件基类,它同样拥有组件生命周期,但因为入口文件的特殊性,他的生命周期并不完整,具体如下
componentWillMount()
在微信/百度/字节跳动/支付宝小程序中这一生命周期方法对应 app 的
onLaunch
监听程序初始化,初始化完成时触发(全局只触发一次)
在此生命周期中通过 this.$router.params
,可以访问到程序初始化参数
参数格式如下
属性 | 类型 | 说明 | 微信小程序 | 百度小程序 | 字节跳动小程序 | 支付宝小程序 | H5 | RN |
---|---|---|---|---|---|---|---|---|
path | string | 启动小程序的路径 | ✔️ | ✔️ | ✔️ | ✔️ | ✘ | ✘ |
scene | number | 启动小程序的场景值 | ✔️ | ✔️ | ✔️ | ✘ | ✘ | ✘ |
query | Object | 启动小程序的 query 参数 | ✔️ | ✔️ | ✔️ | ✔️ | ✘ | ✘ |
shareTicket | string | shareTicket,详见获取更多转发信息 | ✔️ | ✔️ | ✔️ | ✘ | ✘ | ✘ |
referrerInfo | Object | 来源信息。从另一个小程序、公众号或 App 进入小程序时返回。否则返回 {} | ✔️ | ✔️ | ✔️ | ✔️ | ✘ | ✘ |
其中,场景值 scene,在微信小程序和百度小程序中存在区别,请分别参考 微信小程序文档 和 百度小程序文档
来源信息 referrerInfo 的数据结构如下
属性 | 类型 | 说明 | 微信小程序 | 百度小程序 | 字节跳动小程序 | 支付宝小程序 |
---|---|---|---|---|---|---|
appId | string | 来源小程序,或者公众号(微信中) | ✔️ | ✔️ | ✔️ | ✔️ |
extraData | Object | 来源小程序传过来的数据,微信和百度小程序在scene=1037或1038时支持 | ✔️ | ✔️ | ✔️ | ✔️ |
sourceServiceId | string | 来源插件,当处于插件运行模式时可见 | ✘ | ✘ | ✘ | ✔️(基础库版本 1.11.0) |
componentDidMount()
在微信/百度/字节跳动/支付宝小程序中这一生命周期方法对应 app 的
onLaunch
,在componentWillMount
后执行
监听程序初始化,初始化完成时触发(全局只触发一次)
在此生命周期中也可以通过 this.$router.params
,访问到程序初始化参数,与 componentWillMount
中一致
componentDidShow()
在微信/百度/字节跳动/支付宝小程序中这一生命周期方法对应
onShow
,在 H5/RN 中同步实现
程序启动,或从后台进入前台显示时触发,微信小程序中也可以使用 Taro.onAppShow
绑定监听
在此生命周期中通过 this.$router.params
,可以访问到程序初始化参数
参数与 componentWillMount
中获取的基本一致,但百度小程序中补充两个参数如下
属性 | 类型 | 说明 | 最低版本 |
---|---|---|---|
entryType | string | 展现的来源标识,取值为 user/ schema /sys : user:表示通过home前后 切换或解锁屏幕等方式调起; schema:表示通过协议调起; sys:其它 |
2.10.7 |
appURL | string | 展现时的调起协议,仅当entryType值为 schema 时存在 | 2.10.7 |
componentDidHide()
在微信/百度/字节跳动/支付宝小程序中这一生命周期方法对应
onHide
,在 H5/RN 中同步实现
程序从前台进入后台时触发,微信小程序中也可以使用 Taro.onAppHide
绑定监听
componentDidCatchError(String error)
在微信/百度/字节跳动/支付宝小程序中这一生命周期方法对应
onError
,H5/RN 中尚未实现
程序发生脚本错误或 API 调用报错时触发,微信小程序中也可以使用 Taro.onError
绑定监听
componentDidNotFound(Object)
在微信/字节跳动小程序中这一生命周期方法对应
onPageNotFound
,其他端尚未实现 微信小程序中,基础库 1.9.90 开始支持
程序要打开的页面不存在时触发,微信小程序中也可以使用 Taro.onPageNotFound
绑定监听
参数如下
属性 | 类型 | 说明 |
---|---|---|
path | string | 不存在页面的路径 |
query | Object | 打开不存在页面的 query 参数 |
isEntryPage | boolean | 是否本次启动的首个页面(例如从分享等入口进来,首个页面是开发者配置的分享页面) |