taro多端开发

taro

react语法,跨端开发,支持打包app(reactNative),如果你熟悉React,不懂Vue.js,推荐Taro

安装

npm install -g @tarojs/cli || yarn global add @tarojs/cli

创建项目 

taro init 目录

 开发

yarn dev:h5  //开发h5    浏览器测试
yarn dev:weapp //小程序   小程序开发工具测试

打包

yarn build:weapp //小程序
yarn build:h5 //h5

调用

1、微信开发者工具导入项目,指向项目根目录;

2、微信开发者工具需要设置关闭 ES6 转 ES5 功能,开启可能报错;

3、微信开发者工具需要设置关闭上传代码时样式自动补全,开启可能报错;

4、微信开发者工具需要设置关闭代码压缩上传,开启可能报错

开发规范

taro是个袖珍版的react

全局配置

src/app.config.js 里的 == 小程序app.json

页面配置

src/pages/index.config.js 里的 == 小程序page.json

生命周期

支持小程序钩子函数和react钩子函数

reactminiprogram
componentWillMountonLoad|onLaunch
componentDidMountonReady
componentDidShowonShow
componentDidHideonHide

小程序api

小程序的api通过Taro.api()桥接;

如:小程序中的 wx.request(),在taro中是 Taro.request().then().catch()

原生api

reactNative的api

样式

1、若要支持 React Native 端,必须采用 Flex 布局,并且样式选择器仅支持类选择器,思想:对齐短板;

2、尺寸单位建议使用 px、 百分比 %,taro自动转换;

3、Taro 提供了直接在样式文件中引用本地资源的方式;

4、CSS Modules 默认关闭;

5、入口文件 app.js 里面引入的样式就是全局样式

UI组件

1、taro内置(封装小程序的原生组件) -> taro-ui -> 第三方weui组件;

2、内置组件和taro-ui组件,支持H5转换;

3、不支持jsx标签;

4、taro内置组件使用方式对等小程序组件

          ①组件属性: <组件 xx-xx="vlaue"></组件> -> <组件 xxXx="value" />

          ②引入内置: import { Map } from '@tarojs/components'

          ③引入taroui: import { Map } from 'taro-ui'

5、修改组件样式: 整体修改主题 -> props-> 查询元素,同选择器重写

路由

1、不可用react-router-dom,使用方式同小程序;

2、config属性配置tabbar跳转;

3、Taro.api() 编程式跳转;

4、Navigator 声明式跳转;

5、this.$router.params 访问到程序初始化参数|路由参数

事件

bindtap -> onTap 事件对象同小程序

语法差异

1、不支持 <Xxx.Fragement> 等方式;

2、文字要包在 Text 组件里面;

3、引用图片、音频、字体等文件 import xx from '...' reuqire('../')

转换平台

微信小程序转taro:

//微信小程序项目目录下
taro convert

//在taroConvert目录下
yarn install //安装依赖

yarn dev:xx  //开发
yarn build:xx //打包到其他平台

其他注意

1、在 App 类中的 render() 函数没有实际作用,不写逻辑,不会起作用;

2、支持 PropTypes 检查类型,目前在小程序端还有些问题;

3、不能使用 Array#map 之外的方法操作 JSX 数组;

4、自定义组件样式默认是不能受外部样式影响的,需要定义在组件内部

  • 47
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值