逆战学习taro

关于taro的生命周期

taro的生命周期方法与react的生命周期有许多雷同的地方,与微信小程序也有许多对应的生命周期钩子函数

componentWillMount这一生命周期方法对应页面的onLoad或入口文件app中的onLaunch

componentDidMount在 componentWillMount后执行,对应页面的onReady或入口文件app中的onLaunch

componentDidShow对应 onShow

componentDidHide对应 onHide

componentDidCatchError用于监听错误,对应 onError

componentDidNotFound用于监听不存在的页面,对应 onPageNotFound

shouldComponentUpdate用于监听页面是否需要更新

componentWillUpdate页面即将更新时会触发此生命周期钩子函数

componentDidUpdate页面更新完毕后执行的生命周期钩子函数

componentWillUnmount页面退出时触发的生命周期钩子函数,对应 onUnload

我们平常使用小程序的时候还有许多动作触发的方法,下列是其中比较常用的方法:

onPullDownRefresh: 页面相关事件处理函数–监听用户下拉动作

onReachBottom: 页面上拉触底事件的处理函数

onShareAppMessage: 用户点击右上角转发

onPageScroll: 页面滚动触发事件的处理函数

onTabItemTap: 当前是 tab 页时,点击 tab 时触发

componentWillPreload: 预加载,只在微信小程序中可用

注意

1.通常入口文件会包含一个 config 配置项,这里的配置主要参考微信小程序的全局配置而来,在编译成小程序时,这一部分配置将会被抽离成 app.json,而编译成其他端,亦会有其他作用。

2.入口文件继承自 Component 组件基类,它同样拥有组件生命周期,但因为入口文件的特殊性,他的生命周期并不完整,如:componentWillMount、componentDidMount、componentDidShow、componentDidHide、componentDidCatchError、componentDidNotFound。

3.入口文件需要包含一个 render 方法,一般返回程序的第一个页面,但值得注意的是不要在入口文件中的 render 方法里写逻辑及引用其他页面、组件,因为编译时 render 方法的内容会被直接替换掉,你的逻辑代码不会起作用。

4.Taro 支持组件化开发,组件代码可以放在任意位置,不过建议放在 src 下的 components 目录中。一个组件通常包含组件 JS 文件以及组件样式文件,组织方式与页面类似。

逆战学习taro

一起逆战学习taro,taro的生命周期函数