[Taro入门:3] Taro中的生命周期

4,293 阅读2分钟

一、微信生命周期

在学习taro的生命周期之前,先了解一下微信的生命周期。 微信的生命周期可分为应用的生命周期及页面的生命周期

1.1 应用生命周期

参考微信开发文档

  • onLaunch 小程序初始化完成时触发,全局只触发一次。
  • onShow 小程序启动,或从后台进入前台显示时触发。
  • onHide 小程序从前台进入后台时触发。

1.2 页面生命周期

微信开发文档中页面生命周期的图

image.png 可以看到,微信的页面生命周期包括:

  • onLoad 页面加载时触发。
  • onShow 页面载入后触发。
  • onReady 首次显示页面,会触发onReady方法,渲染页面元素和样式,一个页面只会调用一次。
  • onHide 小程序后台运行或跳转到其他页面时,触发onHide方法。
  • onUnload 当使用重定向方法wx.redirectTo或关闭当前页返回上一页wx.navigateBack,触发onUnload。 详细的微信生命周期讲解,可以参考这篇博客:微信小程序之生命周期(三)

二、React的生命周期

掘金上介绍React生命周期的帖子有很多,这里就不详细介绍了,放2个链接:

三、Taro中的生命周期

生命周期描述可用位置
onLaunch在小程序环境中对应 app 的 onLaunch入口组件
componentDidShow程序/页面,启动或切前台时触发。在小程序环境中对应页面的 onShow。入口组件、页面组件
onShow页面,启动或切前台时触发。页面组件
componentDidHide程序/页面,切后台或隐藏时触发;在小程序环境中对应页面的 onHide。入口组件、页面组件
onHide页面,隐藏或切后台时触发。页面组件
onLoad在小程序环境中对应页面的 onLoad页面组件
onReady在小程序环境中对应页面的 onReady页面组件
componentWillMount页面将要挂载时触发入口组件、页面组件
componentDidMount页面挂载时触发入口组件、页面组件
shouldComponentUpdate页面props/state修改时触发,应返回boolean类型,决定是否触发页面重新render入口组件、页面组件
componentDidUpdate页面重新render后触发入口组件、页面组件
componentWillUnMount页面将要卸载时触发入口组件、页面组件

可以看到,Taro中的生命周期,包含了小程序和React的生命周期。