找回密码
 立即注册

React语法开发微信小程序 Demo

匿名  发表于 2023-3-5 14:14:25 阅读模式 打印 上一主题 下一主题
前言

从16年微信小法式内测的时辰至今,微信小法式用理论证实了自己的创新和代价,微信小法式的法则也在社区的影响下变得加倍完善。
可是不能不说,用惯了VSCode,官方的开辟工具确切不怎样好用。之前没有打仗过小法式开辟,此次用了一两个星期的时候,大致熟悉了开辟形式微风行的开辟框架:Vue标准的uni-app、类Vue标准的wepy、近Vue写法的mpvue、O2尝试室遵守React标准的Taro。
由于小我比力熟悉React和TypeScript,最初挑选了Taro。不能不说利用框架开辟小法式真的太爽了,感激下Taro的开辟者们。他能处理以下几个题目,编辑器、说话、调试、UI:

  • 能利用VSCode编辑器开辟,不用去顺应小法式的编辑器,配及格式化插件Prettier,能有用控制团队代码标准。以及各类其他插件,各类方便。偷懒是法式员进步的底子动力。
  • React+TypeScript能大大的进步开辟效力和下降Bug率。真的是大大的进步,能利用jsx写模版和TypeScript的智能提醒。假如你熟悉React的话,能轻松无痛过渡到小法式开辟。
  • 调试,还是要吐槽一下原生的开辟工具,UI调试的时辰真的太难用了:元素挑选慢;间接写css没有代码提醒;而且没法检察伪元素(after、before)可是css中是可以写的。平常用惯了Chrome DevTools,对这类下降效力的工具有点没法接管。幸亏Taro可以编译H5和微信小法式,这样可以同时开启微信小法式调试和Chrome DevTools,两头一路预览,虽然会有一些不同,可是能实时发现以做好兼容小法式。
  • UI框架,其他的UI框架没有怎样领会,首要说一些Taro-UI,他包括了大部分交互所需组件。经过覆盖scss,根基上可以只保存交互结果,完全定制属于自己的主题,除了官方说的定制方式,完全可以自己定制到 类名 级别,道理就是挑选器优先级覆盖,可是会有一些题目,比如升级UI框架版本的话,能够有影响。同时由于微信组件款式感化域的关系,覆盖代码要放在pages层级。
<hr/>Demo

Taro 框架(v1.2.17),React+TypeScript 语法,Mobx 治理数据,Taro UI 框架。
Mobx 治理数据,这是 React 风行的数据治理计划之一,简单、可扩大的状态治理。需要留意是Taro利用的是 Mobx 4 版本,在工具静态写入等地方有些坑。
同时项目利用 TypeScript 。能够大部分前端开辟职员没有打仗过强范例说话,自从我利用以后就放不下了,也一向在团队中安利。TypeScript 的进修难度不算太高,可是收获绝对很值。
Taro 框架支持TypeScript,所以在挪用wx的api的时辰会有范例提醒,接口标准也根基支持Promise方式。能够社区用TypeScript+Mobx开辟的还是比力少,所以有一些框架上的题目,项目进程中也提了几个issue和PR。将demo分享出来也是希望更多的人在挑选的时辰有个参考,同时也能对社区有些进献。
目录结构
  1. — config/  // 构建设置,Taro默许天生
  2. — dist/ // 小法式构建缓存和输出目录
  3. — src/            // 项目文件
  4.     assets/ // 一切资本文件 如图片、字体、款式文件
  5.     components/// 组件目录
  6.     interface/// 公共接口
  7.     libs // 手动导入的库,此目录不会停止代码检查和紧缩编译
  8.     pages/ // 项目页脸孔录,对应微信小法式的pages               
  9.     services/// 与后端交互的接口请求文件
  10.     stores/  // mobx数据治理
  11.     utils/  // 一些中心件、插件方式等
  12.     app.scss// 项目标设置
  13.     app.tsx// 利用进口
  14. - .eslintrc.json  // eslint设置
  15. - .stylelintrc.json  // stylelint设置
  16. - tsconfig.json   // ts说话的设置
  17. — package.json  // 项目描写文件
  18. — README.md     // 项目文档
  19. - project.config.json // 小法式设置文件
复制代码

Taro 框架


Taro 先容 · Taro
Taro是一套遵守React语律例范的多端开辟处理计划。现现在市道上真个形状多种多样,Web、React-Native、微信小法式等各类端大行其道,当营业要求同时在分歧的端都要求有所表示的时辰,针对分歧的端去编写多套代码的本钱明显很是高,这时辰只编写一套代码就可以适配到多真个才能就显得极为需要。
利用Taro,我们可以只誊写一套代码,再经过Taro的编译工具,将源代码别离编译出可以在分歧端(微信/百度/付出宝/字节跳动小法式、H5、React-Native 等)运转的代码。
开辟情况

进入项目根目录,安装依靠包:
  1. ## 安装依靠包
  2. yarn
  3. ## 小法式调试形式
  4. yarn dev:weapp
  5. ## h5
  6. yarn dev:h5
复制代码
开辟时可以先在 h5 形式下完成大部分营业逻辑和 UI 调试,然后同时开启小法式和 H5 形式,对照检察结果,调试页面。
构建公布和题目多看看Taro官方文档,有题目上github看看issue。
留意事项


  • Taro只是React语法糖,并不是实在的React框架
Taro 的生命周期/路由 和setState在小法式端实在是包装成 React API 的一层语法糖,我们把这层包装称之为 Taro 运转时框架。几近一切 Taro 供给的 API 和语法糖终极都是通太小法式自己供给的 API 实现的。
2. 开辟之前一定要多看几遍Taro官方文档的留意事项和进阶指南
3. Taro官方对Mobx的引入的例子漏了一点。实在多页面的利用,只需在进口文件的render函数导入全数store即可,不需要引入Page组件。这样在全局一切页面中都可以注入store。
  1. const store = {
  2.   commonStore: new CommonStore(),
  3.   userStore: new UserStore()
  4. }
  5. class App extends Component {
  6.   // ...
  7.   render () {
  8.     return <Provider store={store} />
  9.   }
  10. }
复制代码
4. (自1.3.6后已支持)框架利用的是React语法糖,一切关于组件的props,利用的是小法式的Component机关器properties属性,可是properties是Object范例,所以组件的props不能是Mobx的Observable,否则会被转化为普通的工具大概值。处理方式是传入关键信息如key字段,然后在子组件中注入Store,获得Observable数据。
<hr/>资本


  • 项目设置 诠释 package.json 文件 — JavaScript 标准参考教程(alpha)
  • Taro 中文文档:Taro 先容 · Taro
    Taro UI:Taro UI | O2Team
  • React 官方中文文档:React 是一个用于构建用户界面的 JavaScript 库
  • Mobx 中文文档:MobX 先容 · MobX 中文文档
  • TypeScript 中文文档:文档简介 · TypeScript中文网 · TypeScript——JavaScript的超集
  • Lodash.js 中文文档: https://www.html.cn/doc/lodash/
  • scss:Sass 参考手册 | Sass 中文文档
<hr/>
回复

使用道具

大神点评

ling262000 2023-3-5 14:15:43 显示全部楼层
你怎样这么优异[附和]
回复

使用道具 举报

说点什么

您需要登录后才可以回帖 登录 | 立即注册
HOT • 推荐

神回复

站长姓名:王殿武 杭州共生网络科技 创始人 云裂变新零售系统 创始人 飞商人脉对接平台 创始人 同城交友聚会平台 创始人 生活经验分享社区 创始人 合作微信:15924191378(注明来意)