taro-taro的基本使用
项目运行:
微信小程序:
npm run dev:weapp
H5:
npm run dev:h5
项目打包
微信小程序:
npm run build:weapp
H5:
npm run build:h5
tips
在 Taro 中尺寸单位建议使用 px、 百分比 %,Taro 默认会对所有单位进行转换。在 Taro 中书写尺寸按照 1:1 的关系来进行书写
如果你希望部分 px 单位不被转换成 rpx 或者 rem ,最简单的做法就是在 px 单位中增加一个大写字母,例如 Px 或者 PX 这样,则会被转换插件忽略
Taro 默认以 750px 作为换算尺寸标准
Taro 提供了 API Taro.pxTransform 来做运行时的尺寸转换:Taro.pxTransform(10) // 小程序:rpx,H5:rem
对于头部包含注释 /postcss-pxtransform disable/ 的文件,插件不予处理。
externalClasses 需要使用 短横线命名法 (kebab-case),而不是 React 惯用的 驼峰命名法 (camelCase)。否则无效。
Taro 中,所有组件都应当首字母大写并且使用大驼峰式命名法(Camel-Case)
Taro只能使用map,forEach,reduce等无效
setState() 函数是唯一能够更新 this.state 的地方。taro的状态更新一定是异步的,可以在回调中取得更新后的值,react的setState不总是异步的
在 Taro 中不能使用 catchEvent 的方式阻止事件冒泡。你必须明确的使用 stopPropagation
在 Taro 的页面和组件类中,this 指向的是 Taro 页面或组件的实例,要获取对应的小程序原生页面和组件的实例,通过this.$scope
react组件的生命周期:
1 | class Clock extends React.Component { |
props:父组件传给子组件的数据,会挂载在子组件的 this.props 上
state:与 props 不同,是属于组件自己内部的数据状态,一般在 constructor 构造函数里初始化定义 state
react组件的三个声明周期状态:
*Mount: 插入真实Dom
*Update: 被重新渲染
*Unmount:被移除真实Dom
生命周期流程
第一次初始化渲染显示:ReactDom.render()
*constructor: 创建对象初始化state
*componentWillMount(): 将要插入回调
* render() : 用于插入虚拟 DOM 回调
* componentDidMount() : 已经插入回调
每次更新 state: this.setSate()
* componentWillUpdate() : 将要更新回调
* render() : 更新(重新渲染
* componentDidUpdate() : 已经更新回调
taro-ui使用方式:
在页面test.tsx中:
import { AtButton } from 'taro-ui'
按需引入:@import "~taro-ui/dist/style/components/button.scss";
全局引入使用:
在app.scss中:@import "~taro-ui/dist/style/index.scss";
在页面:import { AtButton } from 'taro-ui'