一周小程序学习 第2天
使用 Taro 之前,先过一下 React 的入门教程,感受一下这个久仰大名的前端框架。
今日目标
- 学习 React 的入门教程
- 了解 React 结合 TypeScript 的用法
- 体会 React 特点
今日成果
- 学习 React 入门教程,完成练习
- 翻阅其他文档,了解 React 核心概念
- 初步尝试在 Taro 中用 React 语法写代码
心得体会
从排斥到真香。
初识 React,有种 JSP 既视感。9102 年了,前后端分离的大背景下,JSP 这种把 Java 和 HTML 混着写的技术已经相当过时了。当初本来也对把两种不同的语言混在一起的编写方式很难受,所以刚看到 JSX 的时候,整个人都在说 NO。
然后跟了几节入门教程之后,我闻到了香味。
React 对前端的写法做了一种颠覆:由增强 HTML 转变为用 JS 描述页面。前者是面向 HTML 的,后者是面向 JS 的。
为什么面向 JS 会让我觉得爽呢?其实回过头来想想,在 HTML 刚刚诞生之初,它只是用来描述一个静态页面的结构的。然而随着前端的发展,交互和体验的提升,页面早已经不再是原来单纯的静态页面了,而是充满了复杂的前端逻辑。
注意,上面提到的逻辑是指“交互逻辑”,而非后端的“业务逻辑”,将这两块逻辑划分清楚其实也是前后端分离的目的。
那么交互体验越好的响应式页面,其交互逻辑就会越复杂。而描述逻辑的,恰恰是 JS,而非 HTML。传统的将 HTML 文件和 JS 文件分开,再通过语法糖等方式来增强 HTML 的处理方式,其实确实有点为难 HTML。因为一个动态的页面本来就很难用一个静态的描述方式去表达,而这恰是 JS 所擅长的。
当然,如果你只是想写一个简单的静态页面,用 JSX 反而有点杀鸡用牛刀的感觉了,还是要具体问题具体看待。
React 将 JS 和 HTML 聚合到组件中,用起来并没有太多的不适,因为它在这一切之上,又抽象出了 JS 表达式这样一个概念,使得两者在本质得到了统一。我觉得能跳出传统思维方式的束缚,另辟蹊径做出这一创举,确实让人佩服。
然后在 JS 中处理各种逻辑,使用各种表达式便非常得心应手了。例如:在用户未登录时,返回登录组件(表达式);而在已登录状态下,返回用户详情组件(表达式)。这在 JS 中去写不是很自然的事吗?
经过初步的了解,我确实尝到了 React 的甜头。但因为自身前端经验不足,肯定还有太多需要深入的东西,也有 React 相对于其他框架的短板。但是大致上手的目的是达成了,在之后的学习过程中再慢慢体会吧!
明日计划
Taro 框架和 React 语法都初步了解了,下一步该是了解小程序的 SDK 了。