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

99 阅读2分钟

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

这是我参与「第四届青训营 」笔记创作活动的的第8天

一、React的历史与应用

  • 写前端应用,移动应用,桌面开发

FAX-js

  • 引入组件式的思想
  • 响应式:状态改变时,ui会自动更新
  • 性能好
  • 函数式地声明组件

image.png

  • React生态

image.png

二、React的实现思路

js实现ui

  • 状态不会自动更新
  • 缺乏代码层面的封装和隔离,代码没有组件化
  • ui之间数据以来,需要手动维护

转换式系统和响应式系统

  • 转换式系统:给输入后求解输出
  • 响应式系统:监听事件,发生了事件,就有另一个事件来响应,异步编程的过程 image.png

React

  • 状态更新,ui自动更新

  • 前端代码组件化

  • 状态之间的互相依赖关系

  • 单向数据流

  • 组件化 image.png

  • 当前价格只能放在Root,只有这样其他组件才能共享这个组件

image.png

  • 三种设计

image.png

  • 组件的生命周期

image.png

三、React(hooks)的写法

  • 副作用:useEffect,只有当什么状态发生改变时候,才执行一次,有明确执行时机
  • useState(参数,函数)当传进参数时,通过这个函数改变这个参数

Hooks使用法则

image.png

  • Hooks就是像useState和useEffect这样的函数
  • 不要在循环和嵌套的条件下使用

四、React的实现

  • 三个问题
    • JSX不符合JS标准语法:转化为另一种符合语法的语言
    • 返回的JSX发生改变时如何更新DOM
    • State/Props更新时,要重新触发render含函数
  • 虚拟DOM:解决更新DOM的问题

image.png

  • 如何dif,局部最优的算法O(n)

image.png

五、React状态管理库

  • 将状态抽离到UI外部进行统一管理
  • redux,xstate,mobx,recoil

状态机

  • 有当前的状态
  • 收到外部事件,迁移到下一个状态

六、应用级框架科普

  • modern.js/Reduck

image.png