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

36 阅读1分钟

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

前端基础班第10节:响应式系统与react。

前置知识:

image.png

一.react历史与应用

1.应用场景

  • 前端应用开发
  • 移动原生应用
  • 结合electron,进行桌面应用开发

2.历史

image.png image.png image.png

二.react的设计思路

1.UI编程痛点

例:

image.png image.png

2.响应式与转换式

image.png

响应式系统:

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

3.响应式编程

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

期望:

image.png

4.组件化

image.png

总结:

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

组件设计:

  • 1.组件声明了状态和ui的映射
  • 2.组件有props/state两张状态
  • 3.组件可由其他组件拼装而成

生命周期:

image.png

三.react(hooks)的写法

image.png image.png

四.react的实现

问题:

  • 1.JSX不符合JS标准
  • 2.返回的JSX发生改变时,如何更新DOM
  • 3.State/props更新时,要重新触发render函数

解答:

image.png
image.png image.png

如何diff:

image.png
  • 不同类型的元素:替换
  • 同类型的DOM元素:更新
  • 同类型的组件元素:递归

五.react状态管理库

1.核心思想

image.png

2.推荐

image.png

3.状态机

image.png

六.应用级框架科普

image.png