响应式系统与 React | 青训营笔记

34 阅读2分钟

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

之前这篇与另外一篇在同一时间发了,今天重新补发

这节课主要内容

  • React 的历史与应用 - 介绍 React 的发展历史以及应用场景。
  • React 的设计思路 - 介绍 React 的设计思想,为什么 React 要设计成这样。
  • React hooks 的写法 - 介绍基础的 React hooks 写法,以及常用的 hooks。

组件化

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

React 的设计思路

UI编程痛点

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

React脚手架意义

  • 脚手架是开发现代Web应用的必备
  • 充分利用 Webpack,Babel,ESLint等工具辅助项目开发
  • 零配置,无需手动配置繁琐的工具即可使用
  • 关注业务,而不是工具配置

事件对象

  • 可以通过事件处理函数的参数获取到事件对象
  • React中的事件对象叫做:合成事件
  • 合成事件:兼容所有浏览器,无需担心跨浏览器兼容问题
  • 除兼容所有浏览器外,它还拥有和浏览器原生事件相同的接口,包括 stopPropagation()和 preventDefault()
  • 如果你想获取到原生事件对象,可以通过 nativeEvent 属性来进行获取

应用级框架科普

  1. 硅谷明星创业公司Vercel的React开发框架,稳定,开发体验好,支持Unbundled,SWC等,其同样有Serverless一键部署平台帮助开发者快速完成部署。口号是“Let'Make Web Faster”
  2. 字节跳动Web infra团队研发的全栈开发框架,内置了很多开箱即用的能力与最佳实践,可以减少很多调研选择工具的时间。
  3. 无API思想的全栈开发框架,开发过程中无需写API调用与CRUD逻辑,适合前后端紧密结合的小团队项目。