框架
最近在使用taro中一些总结(持续更新):
简介
taro是一个用于前端,处理多端统一开发的一套框架,为什么叫taro?因为作者看了奥特曼泰罗,所以叫taro。是有京东凹凸实验室开发,支持React/Vue/Nerv(暂时没用过)框架开发。我们可以用编译器编译成 微信、京东、百度、支付宝等小程序。当然不同的运行环境taro提供的功能支持度也不一样。目前来看微信小程序支持度是比较完善。
UI框架
taro框架提供ui框架是Taro-ui,当然作为Taro主要使用的语言当然Taro-ui是一个React库。当然由于vue开发者众多,已经开始支持了vue版本的Taro-ui,形成了Taro-ui-vue库。需要vue开发的小伙伴可以去安装Taro-ui-vue框架。
生命周期对比
都知道小程序页面是具有生命周期盖面,taro在编写时候也需要注意相应的生命周期函数钩子。我们对比一下React版本和原生小程序生命周期关系:
componentWillMount ————- onLoad或入口文件app中的onLaunch
componentDidMount ————- onReady或入口文件app中的onLaunch
componentDidShow ————- onShow
componentDidHide ————- onHide
componentDidCatchError ————- onError
componentDidNotFound ————- onPageNotFound
shouldComponentUpdate react生命周期
componentWillUpdate react生命周期
componentDidUpdate react生命周期
componentWillUnmount ————- onUnload
踩坑记录:
1.在taro中px在微信小程序会被转换成rpx,这样实际不能还原设计图。
px->rpx PX->px
2.taro-vue中给标签加上点击时间,用微信原生的bindtap事件,但是如果它的父级有bindtap事件,就会产生冒泡,我们需要阻止冒泡的发生。在编译后的taro页面中,可以看到标签的@tap中的Taro事件有一个参数是$event,果断就用它了,肯定是点击事件的参数,于是在@tap中加入了该参数,在点击事件中加入$event.stopPropagation(),果然有效!
3.现在很多需求要实现底部有个弹窗,点击后可以弹出可提供选择的内容。就跟iPhone的操作一样。如下图
但是在小程序中实现比较麻烦,因为小程序下层的滚动是会带动上面内容的滚动(如果上下层都有滚动的话)。变相实现方式:当下层的弹窗打开时候,上层的定位设置为position:fixed。如果关闭了下层的弹窗,上层的变成position:relative
持续更新…..
