前端技术栈之React Ⅰ 青训营笔记

88 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 6 天

前端技术栈之React Ⅰ 青训营笔记

前置知识

学习这些都需要会什么

  • HTML,JS,CSS基础。

  • 基础的数据结构/算法知识,如二叉树,深度遍历等。

  • 会使用浏览器提供的DOM API 来修改DOM ,更新 UI。

React应用场景

  • 前端应用开发,如 Facebook,Instagram,Netflix网页版。
  • 移动原生应用开发,如 Instagram,Discord,Oculus。
  • 结合Electron,进行桌面应用开发

React的设计思路

原生JS的UI痛点

  1. 状态更新,UI 不会自动更新,需要手动调用 DOM进行更新。
  2. 欠缺基本的代码层面的封装和隔离,代码层面没有组建化。
  3. UI之间的数据依赖关系,需要手动维护,如果依赖链路长,则会遇到 Callback Hell。

React 优势

响应式编程

前端UI

事件 - 执行既定的回调 - 状态变更 - UI更新

  1. 状态更新,UI自动更新。
  2. 前端代码组建化,可复用,可封装。
  3. 状态之间的互相依赖关系,只需声明即可。

组件化总结:

  1. 组件是组件的组合/原子组件
  2. 组件内拥有状态,外部不可见
  3. 父组件可将状态传入组件内部

问题解析

  1. React属于单向数据流,向下传递

状态管理库

状态管理库,也就是将状态抽离到UI外部进行统一管理。

状态管理库有那些:

  • redux
  • xstate
  • mobx
  • recoil

应用级框架科普

  • NEXT.js 硅谷明星创业公司 Vercel 的React 开发框架,稳定,开发体验好,支持 Unbundled Dev , SWC 者快速完成部署。
  • MODERN.js 字节跳动 Web Infra 团队研发的全栈开发框架,内置了很多开箱即用的能力与最佳实践,可以减少很多调研选择工具时间。
  • Blitz 无 API 思想的全栈开发框架,开发过程中无需写API 调用与 CRUD 逻辑,适合前后端紧密结合的小团队项目。

React 与 Vue 区别

React 跟vue都是用于构建UI界面目前比较流行的框架。

渲染:

  • vue 的渲染是基于模板(Temple),写起来像是Html,对新手比较友好。
  • React 是使用js 通过嵌套的React.createElement来描述DOM。React 推出了 JSX ,JSX要比Temple要灵活一些

React 要比 Vue 流行 React 是大公司开源框架,背后有大团队进行维护。vue对新手比较友好更规范。React更加灵活,周边库选择比较多。

部分是网上自己查阅 ,有不对的地方望理解。