逆战学习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的生命周期函数