这是我参与「第四届青训营 」笔记创作活动的第17天
前端基础班第10节:响应式系统与react。
前置知识:
一.react历史与应用
1.应用场景
- 前端应用开发
- 移动原生应用
- 结合electron,进行桌面应用开发
2.历史
二.react的设计思路
1.UI编程痛点
例:
2.响应式与转换式
响应式系统:
事件->执行既定的回调->状态变更
3.响应式编程
前端UI: 事件->执行既定的回调->状态变更->UI更新
期望:
4.组件化
总结:
- 1.组件是组件的组合/原子组件
- 2.组件内拥有状态,外部不可见
- 3.父组件可将状态传入组件内部
组件设计:
- 1.组件声明了状态和ui的映射
- 2.组件有props/state两张状态
- 3.组件可由其他组件拼装而成
生命周期:
三.react(hooks)的写法
四.react的实现
问题:
- 1.JSX不符合JS标准
- 2.返回的JSX发生改变时,如何更新DOM
- 3.State/props更新时,要重新触发render函数
解答:
如何diff:
- 不同类型的元素:替换
- 同类型的DOM元素:更新
- 同类型的组件元素:递归