React 是一款由 Facebook 推出的非常流行的开源 JavaScript 库,被广泛运用于 Web 应用的 UI 构建。在 React 库的基础上,我们再添加一层框架,通过运用 React 将页面布局、状态管理、事件绑定等操作封装,就可以实现框架式的开发。然而在小程序开发领域,除了官方提供的原生框架,其他框架目前还不能像 React 那样拥有更广泛的运用。如果想运用 React 进行小程序开发,我们需要同时掌握 React 的原理及小程序的开发规则和限制。
React 通常被分为两个部分:React 和 React DOM。React 是一个核心库,它主要负责提供组件化架构,组件化页面、状态管理、模块化的构建方法和虚拟 DOM 的实现。虚拟 DOM 在 React 的开发方式中非常重要,实现了对 DOM 语句的抽象,建立了一个虚拟的 DOM 树。React 会针对组件进行渲染,如果遇到需要更新的情况,React 会先利用虚拟 DOM 进行比较,再决定是否需要更新 DOM。
React 的另一个部分,React DOM,则是对 Web 应用中的 DOM 操作进行了封装。它提供了一系列方法,用于操作虚拟 DOM,同时还提供了一些实用的类和方法,用于封装常见的 DOM 操作。在 React Native 中,React DOM 被 React Native 替代,它将 Native UI 控件封装成 React Native 标签,使得 React Native 和 React Web 更加相似。
React 在小程序开发中的运用,需要借助第三方库 Taro。Taro 可以通过编写 React 代码,生成和小程序原生代码规范化、可编译的代码。开发者可以借助 Taro 提供的 API,在 React 代码中进行开发和调试,最终获得和小程序原生代码同样优秀的运行效果。同时,Taro 还提供了丰富的组件,轮播图和菜单导航等等组件,是正式部署到小程序的理想选择。
通过 React 的运用和 Taro 的支持,我们可以将小程序的开发门槛降低,通过一些常见的神器如 redux、mobx 等等,实现小程序的开发模式翻天覆地的变化,提高代码复用性,减少代码冗余。小程序框架和 React 都是 JavaScript 生态圈的精选类库,它们都懂得等价替换的好处,可以很好的跨栈开发,这正是 Taro 使用 React 的探索方向。