React 入门 | 青训营笔记

55 阅读2分钟

前端训练营 Day 10

  React 是一个用于构建用户界面的声明式、组件化且支持跨平台的 JavaScript 库,用于构建快速响应的大规模 Web 应用。

  为了提升用户体验,React 主要解决的两大问题是等待资源加载与浏览器单线程执行 JavaScript。React 的解决方案为资源按需加载与条件渲染。

  React 的哲学包括 Lazy & Suspense 与 ErrorBoundary,即懒加载与错误边界。懒加载(按需加载)可避免用户长时间的等待,以另一种思路提高了用户体验。错误边界将某个组件的错误控制在一定范围内,保证大多数组件的正常运行(这不 try-catch 嘛)。

   React 中使用 JSX 代替了 JavaScript,我们可以使用 JSX 简单快速地编写页面。JSX会被编译优化得到运行在浏览器上的 JavaScript 代码。

  React 使用组件来管理项目,使得整个应用结构清晰。组件参与了数据处理、UI绘制、接口通信等。

  组件分为 Class 组件与函数式组件。相比 Class 组件,函数式组件具有无生命周期、代码简洁、逻辑清晰等优点。

  React 将组件看成一个状态机,在与用户交互的时候改变组件的状态并完成渲染(我的 BubbleTea 啊),实现数据、status 与 UI 的状态统一。

  在 React 中可以使用 Hooks 扩展组件的功能,在组件中使用 Hooks 执行外部操作,如使用函数状态(useState())、共享状态(useContext())、执行状态(useReducer())等。当然我们也可以创建自己的 Hooks。

  看了这些,让我想到了 BubbleTea ——一个 GoLang 的 TUI 框架,在用户进行交互的时候更新程序状态并重新渲染。

本文若有不足之处,欢迎纠正(≧^.^≦)喵~

我的其他笔记,可在掘金或 Github( github.com/DoudiNCer/I… )阅读