Taro React小程序开发框架 总结

目录

一、安装

二、目录结构

三、创建一个自定义页面

四、路由

1、API

2、传参

3、获取路由参数

4、设置TabBar

五、组件

六、API


Taro非常好用的小程序框架,React开发者无缝衔接上。

一、安装

官方文档:Taro 文档

注意,项目创建好以后记得初始化一下。

运行以下命令后,项目会构建对应的项目包。这里并不会直接打开微信开发者工具这些,需要手动导入。

打开开发者工具,点击导入,选择对应的taro项目目录即可,其他开发者工具类似:

你会在开发者工具中看到项目原本的效果:此时,代表项目编译成功。

二、目录结构

官方文档:Taro 文档

三、创建一个自定义页面

1、配置app.config.ts: 配置到第一项会成为首页。

2、在src/pages目录下创建你的页面:

我的案例代码:

/*** @author Dragon Wu* @since 2024/11/25 19:02*/
import React, {useState} from 'react';
import {View, Text, Button} from "@tarojs/components";function Custom() {const [data, setData] = useState("Hello world")const repeat = () => {setData(prev => prev + "Hello world")}return (<View><Text>{data}</Text><Button onClick={repeat}>点我</Button></View>);
}export default Custom;

编译成功,小程序效果:

另外,官方还提供了一些小程序的hook:

官方文档:Taro 文档

import React, { useEffect } from 'react'
import { View } from '@tarojs/components'
import { useReady, useDidShow, useDidHide, usePullDownRefresh } from '@tarojs/taro'

function Index() {
  // 可以使用所有的 React Hooks
  useEffect(() => {})

  // 对应 onReady
  useReady(() => {})

  // 对应 onShow
  useDidShow(() => {})

  // 对应 onHide
  useDidHide(() => {})

  // Taro 对所有小程序页面生命周期都实现了对应的自定义 React Hooks 进行支持
  // 详情可查阅:【Hooks】
  usePullDownRefresh(() => {})

  return <View className="index" />
}

export default Index

四、路由

官方文档:Taro 文档

1、API

官方文档:Taro 文档

// 跳转到目的页面,打开新页面
Taro.navigateTo({url: '/pages/page/path/name',
})// 跳转到目的页面,在当前页面打开
Taro.redirectTo({url: '/pages/page/path/name',
})
2、传参
// 传入参数 id=2&type=test
Taro.navigateTo({url: '/pages/page/path/name?id=2&type=test',
})
3、获取路由参数
import React, { Component } from 'react'
import { View } from '@tarojs/components'class Index extends Component {// 建议在页面初始化时把 getCurrentInstance() 的结果保存下来供后面使用,// 而不是频繁地调用此 API$instance = getCurrentInstance()componentDidMount() {// 获取路由参数console.log(this.$instance.router.params) // 输出 { id: 2, type: 'test' }}render() {return <View className="index" />}
}export default Index
4、设置TabBar

属性列表:Taro 文档

参考文档:Taro 文档

找到app.config.ts,配置TabBar属性即可:

我这里的图片放在src/assets目录下

export default defineAppConfig({pages: ["pages/custom/index", //第一项会显示为首页'pages/index/index',],window: {backgroundTextStyle: 'light',navigationBarBackgroundColor: '#fff',navigationBarTitleText: 'WeChat',navigationBarTextStyle: 'black'},tabBar: {color: '#000',selectedColor: '#56abe4',backgroundColor: '#fff',borderStyle: 'white',list: [{pagePath: 'pages/custom/index',selectedIconPath: 'assets/home.png',iconPath: 'assets/home.png',text: '页面1',},{pagePath: 'pages/index/index',selectedIconPath: 'assets/Self.png',iconPath: 'assets/Self.png',text: '页面2',},],}
})

效果:一般在设置图标时,会设置两种不同状态的图标。

五、组件

Taro的组件库大多和小程序相同。

官方文档:Taro 文档

六、API

Taro的API总体和小程序一致。

官方文档:Taro 文档

总结到此!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/478416.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

qt添加模块

以QtNetwork模块为例 方式一 扩展-qt vs tools-qt project settings 方式二 右键选中项目-属性-qt project settings 方法三 在此界面选择select modules,即可进行相应模块添加

传统经验光照模型

1.什么是光照模型 光照模型(illumination model)&#xff0c;也称为明暗模型&#xff0c;用于计算物体某点处的光强(颜色值)&#xff0c;从算法理论基础而言&#xff0c;光照模型分为两类&#xff0c;一种是基于物理理论的&#xff0c;另一种是基于经验模型的。 基于物理理论的…

金融市场和预期

1.债券的分类 短期债券&#xff08;Short-term Bonds&#xff09;&#xff1a; 通常指到期期限在1年以内的债券。 中期债券&#xff08;Medium-term Bonds&#xff09;&#xff1a; 到期期限在1年到10年之间的债券。 长期债券&#xff08;Long-term Bonds&#xff09;&#xff…

C++:用红黑树封装map与set-2

文章目录 前言一、红黑树封装map与set中const迭代器1. 框架的搭建2. set实现const迭代器3. map实现const迭代器 二、operator[ ]1. operator[ ]要达成的样子2. insert的改变 三. 解决insert里set中的问题四. 解决map中的operator[ ]总结用红黑树封装map与set代码 前言 前面我们…

软件/游戏提示:mfc42u.dll没有被指定在windows上运行如何解决?多种有效解决方法汇总分享

遇到“mfc42u.dll 没有被指定在 Windows 上运行”的错误提示&#xff0c;通常是因为系统缺少必要的运行库文件或文件损坏。以下是多种有效的解决方法&#xff0c;可以帮助你解决这个问题&#xff1a; 原因分析 出现这个错误的原因是Windows无法找到或加载MFC42u.dll文件。这可…

07 初始 Oracle 优化器

查询优化器&#xff0c;简称优化器&#xff0c;是数据库最核心的组件之一。我们在这个系列的第一篇文章中已经给大家介绍了&#xff0c;优化器会参与到SQL语句的解析过程中&#xff0c;用来生成SQL语句的执行计划&#xff0c;直接决定SQL语句执行性能的优劣。 什么是执行计划 …

累积局部效应 (ALE) 图分析记录

Git地址&#xff1a;https://github.com/blent-ai/ALEPython/tree/dev 查看源码需要pip install alepython安装&#xff0c;这边查看源码发现就实际就一个py文件而已&#xff0c;我懒得再去安装&#xff0c;故直接下载源码&#xff0c;调用方法也可&#xff1b; # -*- coding:…

远程控制软件:探究云计算和人工智能的融合

在数字化时代&#xff0c;远程控制工具已成为我们工作与生活的重要部分。用户能够通过网络远程操作和管理另一台计算机&#xff0c;极大地提升了工作效率和便捷性。随着人工智能&#xff08;AI&#xff09;和云计算技术的飞速发展&#xff0c;远程控制工具也迎来了新的发展机遇…

正则表达式灾难:重新认识“KISS原则”的意义

RSS Feed 文章标题整理 微积分在生活中的应用与思维启发 捕鹿到瞬时速度的趣味探索 微积分是一扇通往更广阔世界的门&#xff0c;从生活中学习思维的工具。 数据库才是最强架构 你还在被“复杂架构”误导吗&#xff1f; 把业务逻辑写入数据库&#xff0c;重新定义简单与效率。…

网络原理(一):应用层自定义协议的信息组织格式 初始 HTTP

目录 1. 应用层 2. 自定义协议 2.1 根据需求 > 明确传输信息 2.2 约定好信息组织的格式 2.2.1 行文本 2.2.2 xml 2.2.3 json 2.2.4 protobuf 3. HTTP 协议 3.1 特点 4. 抓包工具 1. 应用层 在前面的博客中, 我们了解了 TCP/IP 五层协议模型: 应用层传输层网络层…

【JUC-Interrupt】中断相关概念

线程中断 一、相关概念二、API2.1、isInterrupted方法2.2、interrupted方法2.3、interrupt 三、总结&#xff1a; 一、相关概念 一个线程不应该由其他线程中断或停止&#xff0c;应该有线程自己来决定。 在Java中没有办法立即停止一个线程&#xff0c;因此提供了用于停止线程…

直播技术-Android基础框架

目录 &#xff08;一&#xff09;直播间架构 &#xff08;二&#xff09;核心任务调度机制 &#xff08;1&#xff09;复制从滑动直播间加载流程 &#xff08;2&#xff09;核心任务调度机制-代码设计 &#xff08;3&#xff09;核心任务调度机制-接入指南 (三&#xff0…

【es6】原生js在页面上画矩形添加选中状态高亮及显示调整大小控制框(三)

接上篇文章&#xff0c;这篇实现下选中当前元素显示调整大小的控制框&#xff0c;点击document取消元素的选中高亮状态效果。 实现效果 代码逻辑 动态生成控制按钮矩形,并设置响应的css // 动态添加一个调整位置的按钮addScaleBtn(target) {const w target.offsetWidth;con…

ArcGIS应用指南:ArcGIS制作局部放大地图

在地理信息系统&#xff08;GIS&#xff09;中&#xff0c;制作详细且美观的地图是一项重要的技能。地图制作不仅仅是简单地将地理数据可视化&#xff0c;还需要考虑地图的可读性和美观性。局部放大图是一种常见的地图设计技巧&#xff0c;用于展示特定区域的详细信息&#xff…

记录一些PostgreSQL操作

本文分享一些pg操作 查看版本 select version(); PostgreSQL 11.11 查看安装的插件 select * from pg_available_extensions; 查看分词效果 select ‘我爱北京天安门,天安门上太阳升’::tsvector; ‘天安门上太阳升’:2 ‘我爱北京天安门’:1select to_tsvector(‘我爱北京天…

RHCSA作业2

压缩 将整个 /etc 目录下的文件全部打包并用 gzip 压缩成/back/etcback.tar.gz [rootjyh ~]# cd /etc [rootjyh etc]# tar -czf etcback.tar.gz /etc tar: Removing leading / from member names tar: /etc/etcback.tar.gz: file changed as we read it [rootjyh etc]# ls使当…

大语言模型(LLM)安全:十大风险、影响和防御措施

一、什么是大语言模型&#xff08;LLM&#xff09;安全&#xff1f; 大语言模型&#xff08;LLM&#xff09;安全侧重于保护大型语言模型免受各种威胁&#xff0c;这些威胁可能会损害其功能、完整性和所处理的数据。这涉及实施措施来保护模型本身、它使用的数据以及支持它的基…

递推进阶与入门递归

一、递推进阶&#xff0c;勇攀高峰 昆虫繁殖 题目描述 科学家在热带森林中发现了一种特殊的昆虫&#xff0c;这种昆虫的繁殖能力很强。每对成虫过X个月产Y对卵&#xff0c;每对卵要过两个月长成成虫。假设每个成虫不死&#xff0c;第一个月只有一对成虫&#xff0c;且卵长成成虫…

深入浅出:JVM 的架构与运行机制

一、什么是JVM 1、什么是JDK、JRE、JVM JDK是 Java语言的软件开发工具包&#xff0c;也是整个java开发的核心&#xff0c;它包含了JRE和开发工具包JRE&#xff0c;Java运行环境&#xff0c;包含了JVM和Java的核心类库&#xff08;Java API&#xff09;JVM&#xff0c;Java虚拟…

极客大挑战2024wp

极客大挑战2024wp web 和misc 都没咋做出来&#xff0c;全靠pwn✌带飞 排名 密码学和re没做出几个&#xff0c;就不发了 web ez_pop 源代码 <?php Class SYC{public $starven;public function __call($name, $arguments){if(preg_match(/%|iconv|UCS|UTF|rot|quoted…