Taro 2.x 和 Taro 3 的区别

Taro 2.x 和 Taro 3 在编译方式、React 版本、API 和性能方面的主要差异

问题

Taro 2.x 和 Taro 3 最大区别是什么?

解答

编译方式变更

Taro 2.x 使用 Gulp 构建工具,Taro 3 改用 Webpack。这带来了更快的编译速度、更好的可扩展性和更灵活的构建配置。

React 版本升级

Taro 2.x 基于 React 16,Taro 3 升级到 React 17。React 17 重新设计了事件系统,优化了事件处理机制,提升了性能和稳定性。

API 改进

Taro 3 引入了多项 API 改进:

  • 支持在 JSX 中使用 class 关键字定义 CSS 样式
  • 新增 useReady 钩子函数,在小程序 onReady 生命周期触发时执行
  • 支持快应用和 H5 等新平台

插件机制

Taro 3 引入插件机制,开发者可以通过插件扩展功能,如 TypeScript 支持增强、国际化等。

性能优化

Taro 3 采用虚拟 DOM 进行局部更新,减少原生 API 调用,并根据不同平台生成更小的代码包。

关键点

  • 构建工具从 Gulp 升级到 Webpack,编译性能提升
  • React 版本从 16 升级到 17,事件系统优化
  • 新增插件机制,支持功能扩展
  • 虚拟 DOM 局部更新,减少代码包体积
  • 建议新项目使用 Taro 3