17-Taro知识点串讲

8/16/2001

# 一,Taro介绍

# 1,Taro介绍

官网:https://taro.jd.com/

1678848451369

2020年7月份正式发布V3版本。V2版本只支持React的类组件的开发风格。V3版本支持React类组件风格,React Hooks风格,Vue2风格,Vue3风格,Nerv风格。目前市面上最最流行的风格是React Hooks风格。使用Raro主要也是做微信小程序的。

# 2,搭建开发环境

安装脚手架,如下:

1678848911966

测试是否安装成功,如下:

1678849047072

创建项目,如下:

1678849327535

总结Taro3项目的搭建:

  • 安装脚手架:cnpm i @tarojs/cli -g
  • 创建项目:taro init app-taro(在创建项目过程中,需要让我们选择模板)
  • 启动项目:在taro项目的根目录下,通过cnpm run dev:weapp 运行成微信小程序
  • 调试项目:电脑上安装微信开发者工具,导入Taro编译后的dist目录进行调试

为了方便,配置一个start命令,如下:

1678849747944

运行项目:

1678850239961

项目运行起来后,会在项目的根目录下面多一个dist目录,如下:

1678850327275

然后使用微信开发者工具,导入dist项目,如下:

1678850428340

效果如下:

1678850472367

# 二,Taro语法范式

# 1,mobx数据流

mobx是一个状态管理器,类似vue中的vuex或pinia,类似于react中的redux。步骤:

  1. 使用mobx中的observable定义store以及子store。
  2. 使用mobx-react中的Provider组件,把store数据注入到React组件树中。
  3. 在React组件中使用mobx-react中的inject('store')(observer(UI))把store数据及action方法放到props上。

分析代码如下:

1678861557732

1678861701161

1678861937390

# 2,把类组件重新与函数式组件

把App.jsx中的类组件重写成函数式组件,如下:

1678862430568

把首页面中的类组件也重写成函数式组件,如下:

1678862494371

效果如下:

1678862505494

# 3,重构一个仓库

创建modules文件夹,如下:

1678862635232

在app.jsx中导入总store,如下:

1678862702455

# 4,mobx实战

mobx版本:

  • 在Taro3中:mobx是4版本,mobx-react是6版本
  • mobx最新的版本:mobx是6版本,mobx-react是7版本

创建一个utils文件夹,在utils下面创建一个request.js文件,如下:

1678863529687

对api接口封装,如下:

1678863552202

准备cnode的子store,如下:

1678863577974

合并子store,如下:

1678863604522

创建发现页面,如下:

1678864379659

1678864407238

测试在页面中发送请求,如下:

1678864434382

在ajax二次封装的地方,就可以得到数据了,如下:

1678864663597

在子store中,就可以得到结果了,如下:

1678864719882

测试之,如下:

1678864780549

渲染数据,如下 :

1678866223879

效果如下:

1678866233949

书写一点样式,如下:

1678866320289

效果如下:

1678866334286

实现加载下一页,如下:

1678866487869

在子store中,需要合并,如下:

1678866510576

当上拉加载下一页,如下:

1678866731291

还需要配置,如下:

1678866748032

在子store中写了一个清空的action,如下:

1678866771087

测试是否可以加载下一页,如下:

1678866893834

Last Updated: 5/17/2023, 11:37:25 AM