Taro 框架入门教学视频

千锋教育出品这个教程 https://www.bilibili.com/video/BV1W7411v7LU ,比系统学习文档更快捷(文档可能很多用不上)2020 年初,以最新官方文档为准

官方博客参考资料

Taro实践 - TOPLIFE小程序 开发体验 https://juejin.cn/post/6844903632991682567

为何我们要用 React 来写小程序 - Taro 诞生记 https://juejin.cn/post/6844903624938635272

多端统一开发框架 - Taro https://juejin.cn/post/6844903617951072264

01 taro介绍

微信小程序 = VUE的模板语法+React状态管理,后续其他各大厂家小程序很多,但是标准不一样

Taro 框架是京东凹凸实验室制作,目标是用一套代码,编译出各种小程序(微信、支付宝、抖音、百度小程序)

特点:使用 JSX 语法,支持组件化开发,支持 TS SASS 等语言。

02 Taro 项目创建

核心逻辑:把 JSX 语法(内部叫Nerv语法)转换成 AST,然后根据不同的打包配置,编译成不同的小程序(另一个例子,babel 把 es6 编译成 es5,taro 把 jsx 编译成 wxml wxss 等文件)。

# 全局安装脚手架 @taro/cli
sudo npm install @taro/cli -G# 创建项目
taro init Project# 创建单页面
taro create --name login# 编译成不同的小程序
npm run dev:wxapp
npm run dev:alipay

自定义本地配置:如果是 H5 编译,本地开发的配置文件在 /config/index.js,可以更改本地开发服务器配置(类似webpack_dev_server)

h5: {  devServer: {    port: 8080,
    host: 'localhost',
  }
}

03 项目结构

编译成小程序的操作过程;把 dist 目录导入微信官方的小程序管理软件中即可。

taro 项目目录说明(主要是 src pages index 下面的结构、样式、设置文件)。app.js 和 app.css 是项目入口文件和样式。pages 下面每一个文件夹和对应的组件代表一个页面;可以在内部设置不同的子组件,components 中可以增加公共的组件和样式等。

config 是配置目录:index.js 是默认配置;dev.js 是开发环境配置;prod.js 是生产环境配置。

package.json 是项目依赖和脚本

project.config.json 是小程序的配置

04 生命周期函数和 state

基本的生命周期函数和 state 类似 react 组件,功能类似,不赘述

针对小程序新增的生命周期函数

state = {};componentDidShow() {}componentDidHide() {}

05 props

类似 react 中的 props

import Taro, { Component } from '@tarojs/taro';
import { View, Text } from "@tarojs/components";class Child extends Component {render () {let { text } = this.props;return (<View>{text}</View>);}
}

06 路由的传参和配置

在 react 中,使用 react-router 实现路由功能。小程序中自带路由功能,所以不需要使用 react-router 引入单独的库。

config = {  pages: [
    'pages/index/index',
    'pages/login/login',
  ],
  window: {    backfroundTextStyle: 'light',
  }
}

在代码中实现跳转页面的功能,在 URL 中加入查询字符串,页面传参。然后在目的界面可以获取传入的参数了。

下面是新增的API,根据最新官方文档

// 定位到某个页面(有历史记录)
Taro.navigateTo({  url: "/pages/index/index?id=1&username=index"
});// 重定向到某个页面(没有历史记录)
Taro.redirectTo({  url: '/pages/index/index'
}).then()// 切换页脚的 tab
Taro.switchTab({url: '/pages/'}).then()// 向上返回到层
Taro.navigateBack({  delta: 2
});// 获取当前的页面栈(决定返回几层)
Taro.getCurrentPages().length;

componentDidMount() {  let id = this.$router.params.id;
}

07 模块化和导入导出

使用 import 和 export 进行模块导入导出

资源文件(图片)也需要使用 import 导入,不支持使用直接的图片链接,否则小程序不显示图片。

08 条件渲染和列表渲染

和 react 一样;条件渲染就是三目运算符;列表渲染就是数组渲染

09 事件与运行时环境

大驼峰写法,和React一致

事件回调函数中,前面几个是传递的参数,最后一个是事件对象(这个日常的代码中经常会遇到,一个函数在不同地方使用,传递的函数不一样)

handleClick = (name, event) => {  //
}render() {  return (
    <View className="index">
        <Button onClick={this.handleClick.bind(this, name)} />
    </View>
  );
}

运行时环境,类似 nodeJS 获取运行时的变量(需要看文档)

const h5 = process.env.TARO_ENV;if (h5) {  // 网页中需要打开弹框
} else {  // 微信小程序不需要弹框
}

10 案例——问答模块

这个案例类似 React 组件,简单了解一下即可

详细是自己的案例。


http://www.taodudu.cc/news/show-5400643.html

相关文章:

  • taro框架props解构jsx标签,不渲染的问题
  • Taro(多端开发框架)快速入门
  • 游戏开发开门
  • 第三章 似有隐情的谈话
  • 游戏制作入门
  • 显摆一下,自己的博客被推荐为最佳博客之一了
  • 《草根》原创连载-面向对象之射雕英雄传
  • 利用google closure依赖工具配置
  • spring之注解(二)Autowired
  • spring之注解
  • 纪中2016.8.12比赛不明总结
  • 循环神经网络RNN简介
  • RNN技术
  • LSTM/RNN的应用Case
  • 类脑传感器:动态视觉相机(Dynamic Vision Sensor)和动态音频传感器(Dynamic Audio Sensor)
  • 快递单号物流查询跟踪,快速筛选单号复制/导出物流
  • 计算机录入与排版训练课件,计算机录入与排版课件.ppt
  • 计算机录入与排版的简介,计算机录入与排版.ppt
  • 计算机专业教语文,语文教学_嵌入_于计算机专业教学的研究与实践..doc
  • 中职语文与计算机专业教学,计算机专业嵌入式培养_中职计算机专业语文“嵌入式”教学的研究与实践...
  • Python趣味代码
  • java 输入流,输出流和缓冲区的个人学习感悟
  • Linux中非常有趣的代码
  • Python-输入与循环
  • 趣头条核心功能分析
  • Xshell的下载与使用
  • 开发者 发展 2 码路指南
  • 【java项目】仅需俩小时教你学会自己用java做出自己的“黄金矿工’’游戏
  • 菜鸟的进阶之路--如何高效使用搜索引擎!
  • 惊呆了!一个App有50+的功能,赶紧收藏好评点赞三连击

Taro 框架入门教学视频相关推荐

  1. 初中C语言教程,初中信息学竞赛C语言程序设计基础入门教学视频全集(万门学院 23讲)...

    初中信息学竞赛C语言程序设计基础入门教学视频目录: 001-课程概述.mp4 002-数组的概念.mp4 003-一维数组的定义.mp4 004-一维数组的引用.mp4 005-二位数组(1).mp4 ...

  2. matlab视频教程矩阵,Matlab-初级教程-系列1:matlab之入门教学视频-3 数组和矩阵分析2...

    Matlab-初级教程-系列1:matlab之入门教学视频-3 数组和矩阵分析2 一.矩阵的基本数值运算 矩阵的加减运算 a+b,a-b: a,b 的维数必须相同,对应的元素相加减, 2.矩阵的乘法 ...

  3. matlab数组教程,Matlab-初级教程-系列1:matlab之入门教学视频-3 数组和矩阵分析4...

    Matlab-初级教程-系列1:matlab之入门教学视频-3 数组和矩阵分析4 3.8矩阵的分解,根据一定的原理用某种算法将一个矩阵分解成若干个矩阵的乘积. 1)Cholesky分解,对应正定矩阵( ...

  4. AirDisk产品入门教学视频

    AirDisk-S6 入门使用教学视频 http://v.youku.com/v_show/id_XMjk5MTM5MjQ1Ng==.html?spm=a2h0k.8191407.0.0&fr ...

  5. android studio 全套入门教学视频(点开即看)无需下载

    android studio教学视频资源(点开即看) 自从Google推出android studio之后,包括github在内的很多第三方代码库项目更多的采用的android studio编译的,越 ...

  6. python入门教学视频材料整理-免费

    学习大纲 1-6周 Python基础快速入门,包括python背景介绍.安装配置方法.基础语法等 7-11周 Python网络编程,包括Socket.多线程.进程间通信.Redis等 12-13周 P ...

  7. Golang 的Gin框架入门教学

    学习Golang差不多有一个星期时间,开始自己做点小功能,练练手. Gin 介绍 Gin 是一个 Golang 写的 web 框架,具有高性能的优点,,基于 httprouter, 它提供了类似mar ...

  8. go mysql教学_Golang 的Gin框架入门教学

    学习Golang差不多有一个星期时间,开始自己做点小功能,练练手. Gin 介绍 Gin 是一个 Golang 写的 web 框架,具有高性能的优点,,基于 httprouter,它提供了类似mart ...

  9. Matlab-初级教程-系列1:matlab之入门教学视频-3 数组和矩阵分析3

    3.6矩阵的特征和线性代数 1.方阵的行列式:把一个方阵看作一个行列式,并对其按行列式的规则求值,这个值就称为矩阵所对应的行列式的值 det(x),得到方阵x的行列式 2.特征值,特征向量 E=eig ...

最新文章

  1. 文本框可编辑查看页面
  2. re.split()用法详解
  3. 1060. [ZJOI2007]时态同步【树形DP】
  4. 镜像浏览器_Docker 企业级私有镜像仓库 Harbor 部署
  5. java证书的安装_Java 第三方证书安装
  6. 老粉丝来:再来一波免费送书
  7. code block怎样实现图形界面_Python 代码实现验证码识别,很稳
  8. android NDK的单步调试
  9. 大数定律和中心极限定理的区别和联系
  10. mysql文件上传漏洞_文件上传漏洞
  11. mysql select if 使用
  12. darknet测试voc数据集精度
  13. 每日一练_是程序呀(每日更新)_XML
  14. /etc/passwd,/etc/shadow文件详解,及密码复杂度设置
  15. 0 1随机数C语言程序,C语言产生随机数的方法
  16. 电脑用c语言恢复出厂设置,教您如何用英语将Lenovo笔记本计算机恢复为出厂设置...
  17. networkx笔记
  18. ABP学习笔记:关于生成Proxy前端代理的一些注意事项
  19. open vas简介
  20. vue + laya+二次贝赛尔曲线 实现含有动画背景的登录页面

热门文章

  1. 面向大模型微调的instruction指令自动化生成技术:SELF-INSTRUCT指令自动化生成框架工作介绍...
  2. 交了一个程序员男朋友后,我彻底变了……
  3. SAP ABAP三代增强点查找
  4. 转:我们时代的思想责任与尊严
  5. android应用程序运行不了版本号,我的应用程序运行良好,除了Android 9版本。我无法理解什么是问题...
  6. NSIS脚本检测和安装Adobe Flash Player 插件
  7. c语言做飞翔的小鸟简笔画图片大全,飞翔的小鸟简笔画图片大全
  8. 报错:ON parse error: Cannot deserialize instance of `java.util.ArrayList<..> out of START_OBJECT
  9. 多多客开源版,微信开放平台的小程序SaaS 系统,基于doodoo.js,vue.js
  10. ros_indigo使用keyboard键盘控制虚拟或实际机器人